{"id":24728,"date":"2026-10-08T22:03:49","date_gmt":"2026-10-08T20:03:49","guid":{"rendered":"https:\/\/netsurit.com\/en-za\/?p=24728"},"modified":"2026-10-25T18:55:36","modified_gmt":"2026-10-25T16:55:36","slug":"ai-coding-fake-packages","status":"publish","type":"post","link":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/","title":{"rendered":"AI Coding Fake Packages: Who Checks the Name Before an Agent Installs It?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"24728\" class=\"elementor elementor-24728\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8e64c05 e-flex e-con-boxed e-con e-parent\" data-id=\"8e64c05\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-12f02eb elementor-widget elementor-widget-html\" data-id=\"12f02eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<article id=\"ns-ai-coding\" aria-labelledby=\"ns-coding-title\">\n  <header class=\"ns-hero\">\n    <div class=\"ns-wrap ns-hero-grid\">\n      <div>\n        <h1 id=\"ns-coding-title\">AI Coding Fake Packages: Who Checks the Name Before an Agent Installs It?<\/h1>\n        <p class=\"ns-excerpt\">AI coding tools can invent package names that attackers later register. Learn how South African teams can verify dependencies before they enter trusted builds.<\/p>\n        <div class=\"ns-meta\"><span>9 min read<\/span><time class=\"ns-date\" datetime=\"2026-10-09\">9 October 2026<\/time><\/div>\n      <\/div>\n      <img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" class=\"ns-hero-image\" src=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/10\/AI-coding-tools-cover-scaled.png\" alt=\"AI coding tools and the risks of unverified software packages.\" width=\"1200\" height=\"675\">\n    <\/div>\n  <\/header>\n\n  <div class=\"ns-wrap ns-layout\">\n    <div class=\"ns-body\">\n<p class=\"ns-byline\">By <a href=\"https:\/\/www.linkedin.com\/in\/louisdeklerk\/\"><strong>Louis de Klerk<\/strong><\/a>, Chief Technology Officer, Netsurit<\/p>\n<p>An AI coding assistant suggests a package that appears to solve a developer\u2019s problem. The name looks credible. The agent installs it, the tests pass and the new feature works. Yet nobody has checked whether the package came from the project they intended to trust.<\/p>\n<p>Sometimes the name the AI suggested did not exist when it first appeared in an answer. If an attacker registers that name and publishes malicious code under it, a future recommendation can lead a developer straight to the attacker\u2019s package. That is the risk behind AI coding fake packages: a plausible suggestion can become a software supply chain decision before anyone examines its source.<\/p>\n<p>I use coding agents myself. They save enough time that I would not want to return to the old workflow. That makes the small decisions they take on my behalf more important. An agent that can suggest a dependency, install it and continue building has moved the decision about trust much earlier in the development process.<\/p>\n<section id=\"ns-coding-1\" aria-labelledby=\"ns-coding-1-title\"><h2 id=\"ns-coding-1-title\">Main Takeaways<\/h2>\n<ul><li>AI coding tools sometimes recommend package names that do not exist in the expected software registry.<\/li><li>An attacker may register a repeatedly suggested name and wait for a developer or agent to install it.<\/li><li>Before a new dependency enters a trusted build, check its exact name, publisher, history, scripts, other dependencies and permissions.<\/li><li>Give coding agents a restricted workspace and an approved route for adding packages. Make the review meaningful at the point where external code enters the project.<\/li><\/ul>\n<\/section>\n<section id=\"ns-coding-2\" aria-labelledby=\"ns-coding-2-title\"><h2 id=\"ns-coding-2-title\">How does an AI tool invent a software package?<\/h2>\n<p>Developers routinely use third-party packages to avoid writing every component from scratch. A JavaScript developer might install one from npm; a Python developer might use PyPI. Those registries contain useful code, but a package name tells you very little about who published it or what it will do when installed.<\/p>\n<p>A <em>package hallucination<\/em> occurs when an AI coding tool recommends a package that is absent from the expected registry. It may blend the names of real libraries, draw on outdated information or produce a name that simply sounds right for the task.<\/p>\n<p>Researchers presenting at <a href=\"https:\/\/www.usenix.org\/conference\/usenixsecurity25\/presentation\/spracklen\">USENIX Security 2025<\/a> tested code-generating models and found average hallucinated-package rates of at least <strong>5.2% for the commercial models<\/strong> and <strong>21.7% for the open-source models<\/strong> in their experiments. They identified more than 205,000 unique invented package names. Those figures describe the models and testing conditions in the study; they do not mean that one in five packages installed by a business is malicious. They establish that invented names are a repeatable problem.<\/p>\n<p>The security risk emerges when someone else can publish code under one of those names. An attacker could identify a name that AI tools repeatedly recommend, register it and wait. The next developer who trusts the recommendation may install code the attacker controls. This has become known as <em>slopsquatting<\/em>.<\/p>\n<p>The package does not need to look obviously suspicious. If it appears in a routine change to a project\u2019s dependency list and the feature passes its tests, a reviewer may focus on the working feature rather than the identity of the new supplier of code.<\/p>\n<\/section>\n<section id=\"ns-coding-3\" aria-labelledby=\"ns-coding-3-title\"><h2 id=\"ns-coding-3-title\">How can a fake suggestion become a real incident?<\/h2>\n<p>Imagine a South African development team adding a reporting feature to an internal application. A coding agent finds a reference to a specialist file format and recommends a library with a convincing name. It installs the dependency, writes the integration and reports that the tests have passed.<\/p>\n<p>This is an illustrative scenario, not a reported Netsurit incident. Several outcomes are possible. A malicious install script might run immediately on a developer\u2019s machine or build server. Alternatively, the package might execute harmful code only when the application imports it. Depending on the access available in that environment, it could attempt to read source files, credentials or configuration, or connect to an external service.<\/p>\n<p>Real software supply chain incidents show why the installation step deserves care. Unit 42 has documented malicious package and build-tool activity involving install scripts and attempts to collect secrets. That <a href=\"https:\/\/unit42.paloaltonetworks.com\/sdlc-supply-chain\">research<\/a> demonstrates the consequences of trusting hostile code in a development environment; it is separate from the USENIX study of invented AI package names.<\/p>\n<p>The chain has several links: a model suggests a name, someone publishes code under it, an agent or developer retrieves it, and the code runs somewhere trusted. A team can interrupt that chain without giving up the coding agent. The key is to treat the agent\u2019s recommendation as a proposal that still needs verification.<\/p>\n<figure class=\"ns-graph\"><a href=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/10\/AI-coding-tools-graph-1-scaled.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"View Four links in the chain at full size (opens in a new tab)\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/10\/AI-coding-tools-graph-1-scaled.png\" alt=\"Four links in a slopsquatting attack: AI invents a package name, an attacker publishes it, an agent installs it and the code runs.\" width=\"2560\" height=\"1481\" loading=\"lazy\"><\/a><figcaption>An invented package name becomes an attack when malicious code is published, installed and run in a trusted environment. <a href=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/10\/AI-coding-tools-graph-1-scaled.png\" target=\"_blank\" rel=\"noopener\">View full-size image<\/a>.<\/figcaption><\/figure>\n<\/section>\n<section id=\"ns-coding-4\" aria-labelledby=\"ns-coding-4-title\"><h2 id=\"ns-coding-4-title\">What should a developer check before installing a package?<\/h2>\n<p>Start with the <strong>exact package name<\/strong> in the expected registry. Then find the project\u2019s own documentation and confirm that it links to that same package. A similar name or a polished registry description is insufficient.<\/p>\n<p>Look at the publisher and project history. Who maintains the package? How long has it existed? Does its repository show meaningful development and releases? Has ownership changed recently? A brand-new registry entry claiming to represent a long-established tool calls for investigation.<\/p>\n<p>Next, examine what will run. Install and post-install scripts may execute before a developer has used the package in their application. Review what the package brings in through its own dependencies and whether its behaviour fits its stated purpose. Test an unfamiliar package in a restricted environment before it reaches a workstation or build pipeline with valuable credentials.<\/p>\n<p>Finally, record why the dependency was selected and which version was approved. Months later, the team should be able to explain why the application relies on that package. A software bill of materials helps identify what shipped, but it cannot establish that a malicious package was safe to install in the first place.<\/p>\n<p>These checks matter especially when the agent has access to cloud credentials, customer repositories or a continuous integration pipeline. The same package can present very different risks depending on where it runs.<\/p>\n<\/section>\n<section id=\"ns-coding-5\" aria-labelledby=\"ns-coding-5-title\"><h2 id=\"ns-coding-5-title\">What authority should a coding agent have?<\/h2>\n<p>An agent assigned to a reporting feature needs enough access to do the job. It does not automatically need every repository the organisation owns, production credentials or permission to introduce new third-party code into a trusted build.<\/p>\n<p>A project-specific workspace and limited credentials reduce the consequences if an agent makes a poor dependency choice. An approved package source, private mirror or review process can prevent a newly suggested public package from entering the build before somebody has checked it. Those controls also need upkeep: an approved package can change, and a previously trusted maintainer account can be compromised.<\/p>\n<p>The review point should be clear. Let an agent draft code and run tests in a restricted environment. Require a separate decision when it wants to add an external dependency to the trusted build or deploy a change. If developers must approve every harmless command, they will start clicking through prompts without reading them. Put their attention where a decision has lasting consequences.<\/p>\n<figure class=\"ns-graph\"><a href=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/10\/AI-coding-tools-graph-2-scaled.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"View Before an agent installs anything at full size (opens in a new tab)\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/10\/AI-coding-tools-graph-2-scaled.png\" alt=\"Three controls for coding agents: a project-specific workspace with limited credentials, approved package sources and a separate review before trusted builds or production.\" width=\"2560\" height=\"1482\" loading=\"lazy\"><\/a><figcaption>Scope, enforced policy and meaningful review help control what a coding agent can install and where it can run. <a href=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/10\/AI-coding-tools-graph-2-scaled.png\" target=\"_blank\" rel=\"noopener\">View full-size image<\/a>.<\/figcaption><\/figure>\n<p>There is another route to the same installation problem. An attacker can place instructions in a README, issue description or web page that the agent reads while working. The instruction might tell the agent to install a particular package. <a href=\"https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Secure_Coding_with_AI_Cheat_Sheet.html\">OWASP<\/a> advises treating such repository and external content as untrusted input when an AI coding agent processes it. A hallucinated package name and a malicious instruction are different mechanisms, but either can lead an agent to fetch unwanted code.<\/p>\n<p>This is one reason the security of an agent depends on more than the model. Its tools, permissions, sources of information and execution environment determine what happens after a questionable suggestion. Netsurit\u2019s article on <a href=\"https:\/\/netsurit.com\/en-za\/ai-agent-platform-decisions\">AI agent platform decisions<\/a> explores how those architectural choices affect an organisation long after the first experiment.<\/p>\n<\/section>\n<section id=\"ns-coding-6\" aria-labelledby=\"ns-coding-6-title\"><h2 id=\"ns-coding-6-title\">Will these checks slow developers down?<\/h2>\n<p>Some checks take time, and that time should be spent on the decisions that carry real risk. Coding agents reduce the effort of producing a feature. They do not remove the need to understand a dependency that the organisation may support for years.<\/p>\n<p>The practical answer is to gather routine evidence automatically. A pipeline can flag a package that is new to the organisation, highlight install scripts, show publisher changes and compare the dependency against approved sources. A developer or security reviewer can then concentrate on the few decisions that require judgement.<\/p>\n<p>South African teams do not need a special version of this threat for it to matter locally. They use the same public registries, development tools and cloud build processes as teams elsewhere. A malicious dependency introduced during development can affect an application wherever its users and data are located.<\/p>\n<p>The question I would ask of any team adopting coding agents is simple: <strong>who verifies the external code the agent chooses, and at what point does that verification happen?<\/strong> If the answer is \u201cwhen someone notices it in the pull request\u201d, the review may already be too late for a package that executed during installation.<\/p>\n<p>Our whitepaper, <a href=\"https:\/\/go.netsurit.com\/whitepapers\/ai-code-you-can-trust\">AI Code You Can Trust<\/a>, is a useful next read for teams examining how AI-assisted development fits into their software security practices.<\/p>\n<\/section>\n<section class=\"ns-faq\" id=\"ns-coding-7\" aria-labelledby=\"ns-coding-7-title\"><h2 id=\"ns-coding-7-title\">Frequently asked questions<\/h2>\n<details><summary>Can AI coding tools really invent package names?<\/summary><p>Yes. AI coding tools can generate package names that appear legitimate but do not exist in official software registries such as npm or PyPI. This is known as package hallucination. It can happen when AI models combine existing library names, rely on outdated information or generate plausible names without verifying their existence.<\/p><p>Attackers can exploit this behaviour by registering invented package names and publishing malicious code. Developers and coding agents that install these packages without verification may unintentionally introduce security threats into their applications. Always confirm the exact package name, publisher and official repository before installation.<\/p><\/details>\n<details><summary>Is every new software package suspicious?<\/summary><p>No. New software packages are not automatically malicious, but they require additional verification before being introduced into a development environment. Legitimate developers regularly publish new libraries to solve emerging technical challenges.<\/p><p>However, newly registered packages may lack an established maintenance history, independent security reviews or reliable publisher information. Development teams should examine the package's source repository, maintainer identity, dependencies, installation scripts and stated functionality. Packages with limited history or unclear ownership should undergo further review before being approved for production use.<\/p><\/details>\n<details><summary>Does pinning a dependency solve the problem?<\/summary><p>No. Dependency pinning helps ensure that applications use specific package versions, reducing unexpected changes during installation or deployment. However, it does not guarantee that the selected package is trustworthy.<\/p><p>If a malicious package is installed initially, pinning its version simply preserves that compromised dependency. Teams should verify package authenticity before approval, maintain lockfiles, use trusted registries and implement automated vulnerability scanning. Regular dependency reviews are also necessary because previously trusted packages can become compromised through malicious updates or maintainer account takeovers.<\/p><\/details>\n<details><summary>Can an AI coding agent install packages safely in a sandbox?<\/summary><p>Yes. A properly configured sandbox can reduce the risks associated with installing unfamiliar packages by isolating their execution from sensitive systems, credentials and production environments.<\/p><p>However, sandboxing does not automatically make a package safe. Development teams should restrict network access, limit file permissions, avoid exposing production credentials and monitor installation scripts. Agents should operate within project-specific workspaces and use approved package sources. Any new dependency should undergo verification before being introduced into trusted builds or production systems.<\/p><\/details>\n<details><summary>What is the most useful security rule for a development team using AI coding agents?<\/summary><p>The most useful rule is to verify every new external dependency before allowing it to execute in a trusted development or production environment.<\/p><p>AI coding agents should be permitted to recommend packages and generate code, but introducing third-party dependencies should require an approved verification process. This includes confirming package identity, examining publisher history, reviewing installation scripts and checking permissions. Automated security checks can reduce manual effort, while human approval should focus on decisions involving unfamiliar code, sensitive credentials or production access.<\/p><\/details>\n<details><summary>What is slopsquatting in AI-assisted software development?<\/summary><p>Slopsquatting is a software supply chain attack in which malicious actors register package names that AI coding tools are likely to invent or recommend. These names may appear credible because they resemble legitimate software libraries or match a developer's technical requirements.<\/p><p>When an AI assistant recommends one of these packages, a developer or autonomous coding agent may install it without verifying its authenticity. The malicious package could then execute harmful scripts, attempt to steal credentials or compromise the development environment. Organisations can reduce this risk through package verification, approved registries, restricted agent permissions and dependency security reviews.<\/p><\/details>\n<details><summary>How can developers identify malicious or fake software packages?<\/summary><p>Developers can identify potentially malicious packages by checking their exact names against official registries, verifying publisher identities and reviewing their source repositories. Warning signs include recently created packages impersonating established libraries, unexplained ownership changes, suspicious installation scripts and dependencies unrelated to the package's stated purpose.<\/p><p>Additional checks should include examining release histories, analysing requested permissions and using software composition analysis tools to detect known vulnerabilities. Unfamiliar packages should be tested in restricted environments before receiving access to sensitive systems. Automated checks combined with developer review provide stronger protection than relying on package names or download counts alone.<\/p><\/details>\n<details><summary>How can organisations prevent AI-generated dependency attacks?<\/summary><p>Organisations can reduce AI-generated dependency attacks by establishing security controls around package selection, installation and deployment. Coding agents should operate with limited permissions and obtain dependencies through approved package sources or controlled internal registries.<\/p><p>Development pipelines should verify package authenticity, scan dependencies for known vulnerabilities and flag suspicious installation scripts or publisher changes. Teams should maintain software bills of materials, review newly introduced dependencies and restrict access to production credentials. Regular security training and clear approval responsibilities help ensure that AI-assisted development improves productivity without weakening software supply chain security.<\/p><\/details>\n<\/section>\n<section id=\"ns-coding-8\" aria-labelledby=\"ns-coding-8-title\"><h2 id=\"ns-coding-8-title\">The decision hidden inside the suggestion<\/h2>\n<p>An AI agent can find a useful library in seconds. By naming it, the agent has not established a chain of trust from the publisher to your application. Somebody still needs to decide whether that package belongs in your development environment and, eventually, in the software your organisation runs.<\/p>\n<p>Netsurit helps organisations bring security into their technology decisions and operations. If your team is introducing coding agents, <a href=\"https:\/\/netsurit.com\/en-za\/our-services\/netsurit-cyber-security-operations\">speak to Netsurit about your development environment and security controls<\/a> before a package recommendation becomes an unexamined installation.<\/p>\n<\/section>\n<div class=\"ns-cta\"><h3>AI Code You Can Trust<\/h3><a class=\"ns-button\" href=\"https:\/\/go.netsurit.com\/whitepapers\/ai-code-you-can-trust\">READ THE WHITEPAPER<\/a><\/div>\n    <\/div>\n\n    <aside class=\"ns-sidebar\" aria-label=\"Article navigation\">\n      <nav class=\"ns-toc\" aria-labelledby=\"ns-coding-toc-title\">\n        <h2 id=\"ns-coding-toc-title\">Table of Contents<\/h2>\n        <ol>\n<li><a href=\"#ns-coding-1\">Main Takeaways<\/a><\/li>\n<li><a href=\"#ns-coding-2\">How does an AI tool invent a software package?<\/a><\/li>\n<li><a href=\"#ns-coding-3\">How can a fake suggestion become a real incident?<\/a><\/li>\n<li><a href=\"#ns-coding-4\">What should a developer check before installing a package?<\/a><\/li>\n<li><a href=\"#ns-coding-5\">What authority should a coding agent have?<\/a><\/li>\n<li><a href=\"#ns-coding-6\">Will these checks slow developers down?<\/a><\/li>\n<li><a href=\"#ns-coding-7\">Frequently asked questions<\/a><\/li>\n<li><a href=\"#ns-coding-8\">The decision hidden inside the suggestion<\/a><\/li>\n<\/ol>\n      <\/nav>\n    <\/aside>\n  <\/div>\n\n  <section class=\"ns-related\" aria-labelledby=\"ns-coding-related-title\">\n    <div class=\"ns-wrap\">\n      <h2 id=\"ns-coding-related-title\">Related Topics<\/h2>\n      <div class=\"ns-related-grid\">\n        <a class=\"ns-related-card\" href=\"https:\/\/netsurit.com\/en-za\/how-can-you-adopt-ai-in-business-without-disrupting-operations\/\">\n          <img loading=\"lazy\" decoding=\"async\" class=\"ns-related-image\" src=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/07\/How-Can-You-Adopt-AI-in-Business-Without-Disrupting-Operations-1024x576.jpg\" alt=\"How Can You Adopt AI in Business Without Disrupting Operations?\" width=\"1024\" height=\"576\" loading=\"lazy\">\n          <h3>How Can You Adopt AI in Business Without Disrupting Operations?<\/h3>\n        <\/a>\n        <a class=\"ns-related-card\" href=\"https:\/\/netsurit.com\/en-za\/ai-productivity-roi-beyond-personal-productivity\/\">\n          <img loading=\"lazy\" decoding=\"async\" class=\"ns-related-image\" src=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/05\/the-board-has-stopped-counting-pilots-cover-1024x576.webp\" alt=\"AI Productivity ROI Beyond Personal Productivity\" width=\"1024\" height=\"576\" loading=\"lazy\">\n          <h3>AI Productivity ROI Beyond Personal Productivity<\/h3>\n        <\/a>\n        <div class=\"ns-more\">\n          <h3>More from <span>Netsurit<\/span><\/h3>\n          <a href=\"https:\/\/go.netsurit.com\/whitepapers\/ai-code-you-can-trust\">AI Code You Can Trust<\/a>\n          <a href=\"https:\/\/netsurit.com\/en-za\/our-services\/netsurit-cyber-security-operations\">Cyber security services<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/article>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>AI Coding Fake Packages: Who Checks the Name Before an Agent Installs It? AI coding tools can invent package names that attackers later register. Learn how South African teams can verify dependencies before they enter trusted builds. 9 min read9 October 2026 By Louis de Klerk, Chief Technology Officer, Netsurit An AI coding assistant suggests [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":24727,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"_acf_changed":false,"nf_dc_page":"","content-type":"","nfd_image_url":"","nfd_onboarding_generated":"","footnotes":""},"categories":[21],"tags":[],"class_list":["post-24728","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"Learn how AI coding fake packages expose software to security risks and how to verify dependencies, prevent attacks and protect builds.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Netsurit\"\/>\n\t<meta name=\"google-site-verification\" content=\"5GWTTA4AhSisFxUP2NfFam7f7MuBpSYQyA8Ou3RMDrM\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Netsurit ZA\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"AI Coding Fake Packages | Supply Chain | Netsurit ZA\" \/>\n\t\t<meta property=\"og:description\" content=\"AI coding tools can invent package names that attackers later register. Learn how South African teams can verify dependencies before they enter trusted builds.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/07\/Netsurit-OG-Image.webp\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/07\/Netsurit-OG-Image.webp\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-08T20:03:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-25T16:55:36+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Netsurit\/\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@netsurit\" \/>\n\t\t<meta name=\"twitter:title\" content=\"AI Coding Fake Packages | Supply Chain | Netsurit ZA\" \/>\n\t\t<meta name=\"twitter:description\" content=\"AI coding tools can invent package names that attackers later register. Learn how South African teams can verify dependencies before they enter trusted builds.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@netsurit\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/07\/Netsurit-OG-Image.webp\" \/>\n\t\t<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t\t<meta name=\"twitter:data1\" content=\"Netsurit\" \/>\n\t\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#article\",\"name\":\"AI Coding Fake Packages: Risks and Prevention | Netsurit ZA\",\"headline\":\"AI Coding Fake Packages: Who Checks the Name Before an Agent Installs It?\",\"author\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/author\\\/netsurit\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/10\\\/AI-coding-tools-cover-scaled.png\",\"width\":2560,\"height\":1481,\"caption\":\"AI coding fake packages\"},\"datePublished\":\"2026-10-08T22:03:49+02:00\",\"dateModified\":\"2026-10-25T18:55:36+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#webpage\"},\"articleSection\":\"Blog\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/category\\\/blog\\\/#listItem\",\"name\":\"Blog\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/category\\\/blog\\\/#listItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/category\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#listItem\",\"name\":\"AI Coding Fake Packages: Who Checks the Name Before an Agent Installs It?\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#listItem\",\"position\":3,\"name\":\"AI Coding Fake Packages: Who Checks the Name Before an Agent Installs It?\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/category\\\/blog\\\/#listItem\",\"name\":\"Blog\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/#organization\",\"name\":\"Netsurit ZA\",\"url\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/07\\\/Netsurit-Logo-400-x-141-px.webp\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#organizationLogo\",\"width\":400,\"height\":141,\"caption\":\"Two red arrows pointing in opposite directions (up and down), suggesting expand\\\/collapse or resize controls.\"},\"image\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Netsurit\\\/\",\"https:\\\/\\\/x.com\\\/netsurit\",\"https:\\\/\\\/instagram.com\\\/netsurit_\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/netsurit\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/author\\\/netsurit\\\/#author\",\"url\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/author\\\/netsurit\\\/\",\"name\":\"Netsurit\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/566be71324c1e0a3b6a9815e969f73d17ad645a60df53771437900fd2b6b8047?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Netsurit\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#webpage\",\"url\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/\",\"name\":\"AI Coding Fake Packages: Risks and Prevention | Netsurit ZA\",\"description\":\"Learn how AI coding fake packages expose software to security risks and how to verify dependencies, prevent attacks and protect builds.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/author\\\/netsurit\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/author\\\/netsurit\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/10\\\/AI-coding-tools-cover-scaled.png\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#mainImage\",\"width\":2560,\"height\":1481,\"caption\":\"AI coding fake packages\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/ai-coding-fake-packages\\\/#mainImage\"},\"datePublished\":\"2026-10-08T22:03:49+02:00\",\"dateModified\":\"2026-10-25T18:55:36+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/#website\",\"url\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/\",\"name\":\"Netsurit ZA\",\"alternateName\":\"Netsurit South Africa\",\"description\":\"IT Support and Consulting\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/netsurit.com\\\/en-za\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>AI Coding Fake Packages: Risks and Prevention | Netsurit ZA<\/title>\n\n","aioseo_head_json":{"title":"AI Coding Fake Packages: Risks and Prevention | Netsurit ZA","description":"Learn how AI coding fake packages expose software to security risks and how to verify dependencies, prevent attacks and protect builds.","canonical_url":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"5GWTTA4AhSisFxUP2NfFam7f7MuBpSYQyA8Ou3RMDrM","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#article","name":"AI Coding Fake Packages: Risks and Prevention | Netsurit ZA","headline":"AI Coding Fake Packages: Who Checks the Name Before an Agent Installs It?","author":{"@id":"https:\/\/netsurit.com\/en-za\/author\/netsurit\/#author"},"publisher":{"@id":"https:\/\/netsurit.com\/en-za\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/10\/AI-coding-tools-cover-scaled.png","width":2560,"height":1481,"caption":"AI coding fake packages"},"datePublished":"2026-10-08T22:03:49+02:00","dateModified":"2026-10-25T18:55:36+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#webpage"},"isPartOf":{"@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#webpage"},"articleSection":"Blog"},{"@type":"BreadcrumbList","@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/netsurit.com\/en-za\/#listItem","position":1,"name":"Home","item":"https:\/\/netsurit.com\/en-za\/","nextItem":{"@type":"ListItem","@id":"https:\/\/netsurit.com\/en-za\/category\/blog\/#listItem","name":"Blog"}},{"@type":"ListItem","@id":"https:\/\/netsurit.com\/en-za\/category\/blog\/#listItem","position":2,"name":"Blog","item":"https:\/\/netsurit.com\/en-za\/category\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#listItem","name":"AI Coding Fake Packages: Who Checks the Name Before an Agent Installs It?"},"previousItem":{"@type":"ListItem","@id":"https:\/\/netsurit.com\/en-za\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#listItem","position":3,"name":"AI Coding Fake Packages: Who Checks the Name Before an Agent Installs It?","previousItem":{"@type":"ListItem","@id":"https:\/\/netsurit.com\/en-za\/category\/blog\/#listItem","name":"Blog"}}]},{"@type":"Organization","@id":"https:\/\/netsurit.com\/en-za\/#organization","name":"Netsurit ZA","url":"https:\/\/netsurit.com\/en-za\/","logo":{"@type":"ImageObject","url":"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/07\/Netsurit-Logo-400-x-141-px.webp","@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#organizationLogo","width":400,"height":141,"caption":"Two red arrows pointing in opposite directions (up and down), suggesting expand\/collapse or resize controls."},"image":{"@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/Netsurit\/","https:\/\/x.com\/netsurit","https:\/\/instagram.com\/netsurit_","https:\/\/www.linkedin.com\/company\/netsurit"]},{"@type":"Person","@id":"https:\/\/netsurit.com\/en-za\/author\/netsurit\/#author","url":"https:\/\/netsurit.com\/en-za\/author\/netsurit\/","name":"Netsurit","image":{"@type":"ImageObject","@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/566be71324c1e0a3b6a9815e969f73d17ad645a60df53771437900fd2b6b8047?s=96&d=mm&r=g","width":96,"height":96,"caption":"Netsurit"}},{"@type":"WebPage","@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#webpage","url":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/","name":"AI Coding Fake Packages: Risks and Prevention | Netsurit ZA","description":"Learn how AI coding fake packages expose software to security risks and how to verify dependencies, prevent attacks and protect builds.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/netsurit.com\/en-za\/#website"},"breadcrumb":{"@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#breadcrumblist"},"author":{"@id":"https:\/\/netsurit.com\/en-za\/author\/netsurit\/#author"},"creator":{"@id":"https:\/\/netsurit.com\/en-za\/author\/netsurit\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/10\/AI-coding-tools-cover-scaled.png","@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#mainImage","width":2560,"height":1481,"caption":"AI coding fake packages"},"primaryImageOfPage":{"@id":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/#mainImage"},"datePublished":"2026-10-08T22:03:49+02:00","dateModified":"2026-10-25T18:55:36+02:00"},{"@type":"WebSite","@id":"https:\/\/netsurit.com\/en-za\/#website","url":"https:\/\/netsurit.com\/en-za\/","name":"Netsurit ZA","alternateName":"Netsurit South Africa","description":"IT Support and Consulting","inLanguage":"en-US","publisher":{"@id":"https:\/\/netsurit.com\/en-za\/#organization"}}]},"og:locale":"en_US","og:site_name":"Netsurit ZA","og:type":"article","og:title":"AI Coding Fake Packages | Supply Chain | Netsurit ZA","og:description":"AI coding tools can invent package names that attackers later register. Learn how South African teams can verify dependencies before they enter trusted builds.","og:url":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/","og:image":"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/07\/Netsurit-OG-Image.webp","og:image:secure_url":"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/07\/Netsurit-OG-Image.webp","og:image:width":1200,"og:image:height":628,"article:published_time":"2026-10-08T20:03:49+00:00","article:modified_time":"2026-10-25T16:55:36+00:00","article:publisher":"https:\/\/www.facebook.com\/Netsurit\/","twitter:card":"summary_large_image","twitter:site":"@netsurit","twitter:title":"AI Coding Fake Packages | Supply Chain | Netsurit ZA","twitter:description":"AI coding tools can invent package names that attackers later register. Learn how South African teams can verify dependencies before they enter trusted builds.","twitter:creator":"@netsurit","twitter:image":"https:\/\/netsurit.com\/en-za\/wp-content\/uploads\/sites\/2\/2026\/07\/Netsurit-OG-Image.webp","twitter:label1":"Written by","twitter:data1":"Netsurit","twitter:label2":"Est. reading time","twitter:data2":"13 minutes"},"aioseo_meta_data":{"post_id":"24728","title":"AI Coding Fake Packages: Risks and Prevention | Netsurit ZA","description":"Learn how AI coding fake packages expose software to security risks and how to verify dependencies, prevent attacks and protect builds.","keywords":null,"keyphrases":{"focus":{"keyphrase":"AI coding fake packages","score":0,"analysis":[]},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":"AI Coding Fake Packages | Supply Chain | Netsurit ZA","og_description":"AI coding tools can invent package names that attackers later register. Learn how South African teams can verify dependencies before they enter trusted builds.","og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"created":"2026-10-08 19:59:16","updated":"2026-10-25 17:17:45","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"breadcrumb_settings":null,"seo_analyzer_scan_date":"2026-10-25 16:57:00","reviewed_by":"0","focus_keyword":"AI coding fake packages","additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/netsurit.com\/en-za\/\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/netsurit.com\/en-za\/category\/blog\/\" title=\"Blog\">Blog<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\tAI Coding Fake Packages: Who Checks the Name Before an Agent Installs It?\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/netsurit.com\/en-za\/"},{"label":"Blog","link":"https:\/\/netsurit.com\/en-za\/category\/blog\/"},{"label":"AI Coding Fake Packages: Who Checks the Name Before an Agent Installs It?","link":"https:\/\/netsurit.com\/en-za\/ai-coding-fake-packages\/"}],"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","yoast_noindex":false,"_links":{"self":[{"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/posts\/24728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/comments?post=24728"}],"version-history":[{"count":7,"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/posts\/24728\/revisions"}],"predecessor-version":[{"id":24816,"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/posts\/24728\/revisions\/24816"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/media\/24727"}],"wp:attachment":[{"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/media?parent=24728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/categories?post=24728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netsurit.com\/en-za\/wp-json\/wp\/v2\/tags?post=24728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}