{"id":234639,"date":"2026-08-15T09:07:38","date_gmt":"2026-08-15T06:07:38","guid":{"rendered":"https:\/\/digitrendz.blog\/?p=234639"},"modified":"2026-08-15T09:07:38","modified_gmt":"2026-08-15T06:07:38","slug":"who-vets-ais-code-open-sources-scale-problem","status":"publish","type":"post","link":"https:\/\/digitrendz.blog\/z\/tech-news\/234639\/who-vets-ais-code-open-sources-scale-problem\/","title":{"rendered":"Who Vets AI&#8217;s Code? Open Source&#8217;s Scale Problem"},"content":{"rendered":"<details class=\"wp-block-details ticss-586932b6 is-layout-flow wp-block-details-is-layout-flow\" open=\"\"><summary>\u25bc Summary<\/summary><p class=\"ticss-0c48f427 has-small-font-size wp-block-paragraph\">&#8211; AI coding assistants can suggest hallucinated package names that don&#8217;t exist in registries, enabling &#8220;slopsquatting&#8221; attacks where adversaries register these names with malicious payloads for CI\/CD pipelines to fetch.<br>&#8211; A USENIX Security study of 500,000+ code samples found a measurable percentage of AI-suggested package names don&#8217;t exist, and nearly half of real suggested dependencies contain known CVEs or outdated releases.<br>&#8211; A hallucinated npm package (react-codeshift) from AI-generated agent skills spread to over 230 repositories via forks before detection, highlighting the absence of ingestion controls.<br>&#8211; AI-generated contributions to open source strain maintainers, with conflicting policies across projects like Kubernetes and Linux kernel, and a CodeRabbit review showing AI-co-authored PRs carry 70% more defects than human-authored code.<br>&#8211; Enterprise adoption gaps show 85% use AI coding assistants but only 9% have dedicated AI AppSec controls, prompting recommendations to restrict direct registry fetching, isolate AI-suggested dependencies, and govern the ingestion gateway to reduce CVE exposure by roughly 95%.<br><\/p><\/details>\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n<p class=\"has-drop-cap wp-block-paragraph\"><mark style=\"color:#f34c3e\" class=\"has-inline-color\">A<\/mark>t <a href=\"https:\/\/digitrendz.blog\/z\/entity\/black-hat\/\" class=\"acp-entity-link\" data-entity-id=\"76042\" data-entity-category=\"Event\" title=\"Learn more about Black Hat\" target=\"_blank\" rel=\"noopener noreferrer\">Black Hat<\/a> last week, our team spent hours in conversations with AppSec leads, platform engineers, and CISOs. One question surfaced in nearly every discussion: who is actually vetting <a href=\"https:\/\/digitrendz.blog\/z\/entity\/ai\/\" class=\"acp-entity-link\" data-entity-id=\"4251\" data-entity-category=\"Technology\" title=\"Learn more about AI\" target=\"_blank\" rel=\"noopener noreferrer\">AI<\/a>\u2019s code?<\/p>\n\n<p class=\"wp-block-paragraph\">Developer adoption of AI coding tools shows no signs of slowing. The productivity gains are tangible, and open source remains the foundation of modern enterprise software. Yet as AI assistants auto-complete third-party dependency suggestions in milliseconds, security teams and open source maintainers face a shared operational reality: code generation has outpaced legacy ingestion review. When an unvetted or hallucinated dependency enters a codebase at machine speed, post-commit <a href=\"https:\/\/digitrendz.blog\/z\/entity\/software-composition-analysis\/\" class=\"acp-entity-link\" data-entity-id=\"201496\" data-entity-category=\"product\" title=\"Learn more about Software Composition Analysis\" target=\"_blank\" rel=\"noopener noreferrer\">Software Composition Analysis<\/a> (<a href=\"https:\/\/digitrendz.blog\/z\/entity\/sca\/\" class=\"acp-entity-link\" data-entity-id=\"130067\" data-entity-category=\"Organization\" title=\"Learn more about SCA\" target=\"_blank\" rel=\"noopener noreferrer\">SCA<\/a>) scans simply cannot keep up.<\/p>\n\n<p class=\"wp-block-paragraph\">Securing this pipeline does not require slowing developers down or restricting open source. It requires governing what enters the environment at the point of selection, before an import ever triggers a build.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>The Mechanics of &#8220;<a href=\"https:\/\/digitrendz.blog\/z\/entity\/slopsquatting\/\" class=\"acp-entity-link\" data-entity-id=\"26266\" data-entity-category=\"Technology\" title=\"Learn more about slopsquatting\" target=\"_blank\" rel=\"noopener noreferrer\">Slopsquatting<\/a>&#8221; and Machine Ingestion<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/digitrendz.blog\/z\/entity\/large-language-models\/\" class=\"acp-entity-link\" data-entity-id=\"770\" data-entity-category=\"Technology\" title=\"Learn more about large language models\" target=\"_blank\" rel=\"noopener noreferrer\">Large language models<\/a> (<a href=\"https:\/\/digitrendz.blog\/z\/entity\/llms\/\" class=\"acp-entity-link\" data-entity-id=\"771\" data-entity-category=\"Technology\" title=\"Learn more about LLMs\" target=\"_blank\" rel=\"noopener noreferrer\">LLMs<\/a>) recommend software libraries based on statistical probability and historical code patterns, not real-time package registry verification. When a model suggests a package name that does not exist in <a href=\"https:\/\/digitrendz.blog\/z\/entity\/pypi\/\" class=\"acp-entity-link\" data-entity-id=\"33314\" data-entity-category=\"Organization\" title=\"Learn more about PyPI\" target=\"_blank\" rel=\"noopener noreferrer\">PyPI<\/a> or <a href=\"https:\/\/digitrendz.blog\/z\/entity\/npm\/\" class=\"acp-entity-link\" data-entity-id=\"21781\" data-entity-category=\"Technology\" title=\"Learn more about NPM\" target=\"_blank\" rel=\"noopener noreferrer\">npm<\/a>, it creates a supply-chain vulnerability known as <strong>slopsquatting<\/strong>, or <a href=\"https:\/\/digitrendz.blog\/z\/topic\/ai-package-hallucination\/\" class=\"acp-topic-link\" data-topic-id=\"267091\" title=\"Explore: ai package hallucination\" target=\"_blank\" rel=\"noopener noreferrer\">AI package hallucination<\/a> exploitation.<\/p>\n\n<p class=\"wp-block-paragraph\">The scale of this vulnerability vector was documented in a <a href=\"https:\/\/digitrendz.blog\/z\/entity\/usenix-security\/\" class=\"acp-entity-link\" data-entity-id=\"289732\" data-entity-category=\"Event\" title=\"Learn more about USENIX Security\" target=\"_blank\" rel=\"noopener noreferrer\">USENIX Security<\/a> study analyzing sixteen popular code-generation models across more than 500,000 code samples. A measurable percentage of AI-suggested package names do not exist in public registries. Of the suggested dependencies that do resolve to real packages, nearly half contain known <a href=\"https:\/\/digitrendz.blog\/z\/entity\/cves\/\" class=\"acp-entity-link\" data-entity-id=\"62755\" data-entity-category=\"Technology\" title=\"Learn more about CVEs\" target=\"_blank\" rel=\"noopener noreferrer\">CVEs<\/a> or outdated releases.<\/p>\n\n<p class=\"wp-block-paragraph\">Attackers routinely monitor public LLM output patterns and developer repositories to identify these hallucinated package names. Once identified, an adversary registers the dummy name on PyPI or npm, uploads a malicious payload, and waits for automated developer environments or <a href=\"https:\/\/digitrendz.blog\/z\/entity\/ci-cd\/\" class=\"acp-entity-link\" data-entity-id=\"7803\" data-entity-category=\"Technology\" title=\"Learn more about CI\/CD\" target=\"_blank\" rel=\"noopener noreferrer\">CI\/CD<\/a> builders to fetch it.<\/p>\n\n<p class=\"wp-block-paragraph\">This vector is actively being observed in the wild. Early in 2026, security researchers tracked a single hallucinated npm package name (<a href=\"https:\/\/digitrendz.blog\/z\/entity\/react-codeshift\/\" class=\"acp-entity-link\" data-entity-id=\"289733\" data-entity-category=\"product\" title=\"Learn more about react-codeshift\" target=\"_blank\" rel=\"noopener noreferrer\">react-codeshift<\/a>) originating from 47 AI-generated agent skills in a single commit. The hallucination spread organically through forks to over 230 repositories before an engineer noticed that no human had ever explicitly selected it. The issue was not malicious intent by the developer. It was a complete absence of ingestion controls.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>The Friction Multiplier on Open Source Review<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">The intake challenge inside the enterprise directly impacts the broader open source ecosystem. The same AI assistants generating unvetted dependency suggestions inside corporate networks are also generating automated pull requests submitted to community-maintained repositories. This volume of automated contributions puts unprecedented strain on human maintainers.<\/p>\n\n<p class=\"wp-block-paragraph\">Major projects, including Kubernetes, the Linux kernel, LLVM, and Godot, have published diverging policies on AI-assisted contributions. Some ban AI-generated code outright. Others permit it only if a human contributor takes full accountability for every line added.<\/p>\n\n<p class=\"wp-block-paragraph\">The quality concerns are backed by data. A CodeRabbit review of 470 open-source pull requests found that AI-co-authored contributions carried 70% more defects than human-authored code, despite reading clean on the surface. When hallucinated or vulnerable packages pass through corporate ingestion, they inevitably trickle down into upstream open source PRs, forcing volunteer maintainers to spend hours validating dependencies that no human deliberately evaluated.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Velocity vs. Verification: The Governance Gap<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Recent telemetry from Kusari&#8217;s Application Security in Practice report illustrates how far tooling deployment has outrun ingestion controls. Organizations using AI coding assistants stand at 85%. Organizations using AI to assist PR-stage code review sit at 38%. Organizations with dedicated AI AppSec controls fall to just 9%.<\/p>\n\n<p class=\"wp-block-paragraph\">Traditional AppSec workflows rely on scanning code after it is written or after a pull request is opened. When code is generated at machine speed, late-stage alerts simply create backlog noise that engineers ignore.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Securing the Pipeline at the Point of Selection<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Waiting for LLM hallucination rates to drop to zero is not an AppSec strategy. The core issue is velocity, not model accuracy. To secure the development pipeline without sacrificing output, security and platform teams are moving defense left of the IDE.<\/p>\n\n<p class=\"wp-block-paragraph\">First, restrict direct registry fetching. Block developer workstations and AI agents from querying unvetted public endpoints directly during code completion. Second, isolate AI-suggested dependencies. Route newly introduced dependencies into an isolated sandbox for automated reachability and vulnerability analysis before allowing them into primary branches. Third, govern the ingestion gateway. Shift from reactive CVE counting to proactive source curation, ensuring that every package an AI model recommends is pre-vetted against malicious typosquats and slopsquatting targets.<\/p>\n\n<p class=\"wp-block-paragraph\">This ingestion layer is precisely where <a href=\"https:\/\/digitrendz.blog\/z\/entity\/activestate\/\" class=\"acp-entity-link\" data-entity-id=\"289729\" data-entity-category=\"Organization\" title=\"Learn more about ActiveState\" target=\"_blank\" rel=\"noopener noreferrer\">ActiveState<\/a>&#8217;s Secure Open Source Library and Curated Catalog operates. Designed to function as an enterprise-grade ingestion gateway, ActiveState delivers pre-vetted, continuously remediated open source packages directly to developer workstations, CI\/CD pipelines, and AI agent environments. By sitting between public package registries and developer tools, a curated catalog ensures that hallucinated package risks are intercepted at the selection boundary.<\/p>\n\n<p class=\"wp-block-paragraph\">Enterprise teams running on a governed ingestion source eliminate slopsquatting vectors at the intake step, reducing overall CVE exposure by roughly 95% without forcing developers to turn off their AI assistants.<\/p>\n\n<p class=\"wp-block-paragraph\">Disabling AI coding tools is neither practical nor competitive. However, treating AI integration purely as a developer productivity metric, without updating software supply chain ingestion rules, leaves production builds vulnerable to automated compromise. Securing the modern development pipeline requires ensuring that every package selected by a developer or an agent is governed by default before it ever hits a build.<\/p>\n\n<em>(Source: <a href=\"https:\/\/bleepingcomputer.com\/news\/security\/who-vets-ais-code-the-scale-challenge-facing-open-source-ingestion\/\" target=\"_blank\">BleepingComputer<\/a>)<\/em>","protected":false},"excerpt":{"rendered":"<p>AI coding tools generate dependency suggestions at machine speed, outpacing legacy post-commit SCA scans and enabling &#8220;slopsquatting,&#8221; where attackers register hallucinated package names (e.g., react-codeshift) to inject malicious code,a vector observed spreading to 230+ repositories in 2026. The&#8230;<\/p>\n","protected":false},"author":1,"featured_media":234638,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"cybocfi_hide_featured_image":"","footnotes":""},"categories":[57,3247,3297,3327,3254],"tags":[246981,246984,246983,178837,246982],"entities":[246986,839,49752,5010,42447,246985,2272,2273,64003,24009,246987,95203,18457,158663,246988],"class_list":["post-234639","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-news","category-artificial-intelligence","category-cybersecurity","category-newswire","category-technology","tag-ai-code-vetting-2","tag-ai-package-hallucination","tag-open-source-maintainers-2","tag-slopsquatting","tag-software-supply-chain-2","entity-activestate","entity-ai","entity-black-hat","entity-ci-cd","entity-cves","entity-jonny-rivera","entity-large-language-models","entity-llms","entity-npm-2","entity-pypi","entity-react-codeshift","entity-sca","entity-slopsquatting","entity-software-composition-analysis","entity-usenix-security"],"_links":{"self":[{"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/posts\/234639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/comments?post=234639"}],"version-history":[{"count":0,"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/posts\/234639\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/media\/234638"}],"wp:attachment":[{"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/media?parent=234639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/categories?post=234639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/tags?post=234639"},{"taxonomy":"entity","embeddable":true,"href":"https:\/\/digitrendz.blog\/z\/wp-json\/wp\/v2\/entities?post=234639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}