惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
博客园 - 司徒正美
美团技术团队
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Troy Hunt's Blog
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
Cisco Talos Blog
Cisco Talos Blog
T
Tor Project blog
B
Blog
NISL@THU
NISL@THU
月光博客
月光博客
博客园 - 【当耐特】
AWS News Blog
AWS News Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
L
Lohrmann on Cybersecurity
The Cloudflare Blog
L
LINUX DO - 最新话题
S
Security @ Cisco Blogs
S
Secure Thoughts
Spread Privacy
Spread Privacy
有赞技术团队
有赞技术团队
The Last Watchdog
The Last Watchdog
Project Zero
Project Zero
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
H
Hacker News: Front Page
S
SegmentFault 最新的问题
Schneier on Security
Schneier on Security
aimingoo的专栏
aimingoo的专栏
P
Privacy & Cybersecurity Law Blog
博客园 - 三生石上(FineUI控件)
Forbes - Security
Forbes - Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
InfoQ
T
Tailwind CSS Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
G
GRAHAM CLULEY
W
WeLiveSecurity
小众软件
小众软件
Recorded Future
Recorded Future
Cyberwarzone
Cyberwarzone
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

Aikido Security's Blog

Axios CVE-2026-40175: a critical bug that’s… not exploitable GlassWorm goes native: New Zig dropper infects every IDE on your machine Aikido Attack finds multiple 0-days in Hoppscotch The cybersecurity doomerism around Mythos doesn't match what we see on the ground axios compromised on npm: maintainer account hijacked, RAT deployed Popular telnyx package compromised on PyPI by TeamPCP Aikido × Lovable: Vibe, Fix, Ship CanisterWorm Gets Teeth: TeamPCP's Kubernetes Wiper Targets Iran TeamPCP deploys CanisterWorm on NPM following Trivy compromise Security testing is validating software that no longer exists Aikido Recognized by Frost & Sullivan with the 2026 Customer Value Leadership Award in ASPM GlassWorm Hides a RAT Inside a Malicious Chrome Extension fast-draft Open VSX Extension Compromised by BlokTrooper Glassworm Strikes Popular React Native Phone Number Packages Glassworm Is Back: A New Wave of Invisible Unicode Attacks Hits Hundreds of Repositories How Security Teams Fight Back Against AI-Powered Hackers Introducing Betterleaks, an open source secrets scanner by the author of Gitleaks Trump’s 2026 cybersecurity strategy: From compliance to consequence How does AI pentesting work with compliance? What continuous pentesting actually requires Rare Not Random: Using Token Efficiency for Secrets Scanning Persistent XSS/RCE using WebSockets in Storybook’s dev server Why Determinism Is Still a Necessity in Security WAF vs. RASP vs. ADR Introducing Aikido Infinite: A new model of self-securing software How Aikido secures AI pentesting agents by design Astro Full-Read SSRF via Host Header Injection How to Get Your Board to Care About Security (Before a Breach Forces the Issue) SvelteSpill: A Cache Deception Bug in SvelteKit + Vercel Top 6 Wiz Code Alternatives Aikido recognized as Platform Leader in Latio Tech's 2026 Application Security Report From detection to prevention: How Zen stops IDOR vulnerabilities at runtime npm backdoor lets hackers hijack gambling outcomes Introducing Upgrade Impact Analysis: When breaking changes actually matter to your code Why Trying to Secure OpenClaw is Ridiculous Claude Opus 4.6 found 500 vulnerabilities. What does this change for software security? Introducing Aikido Expansion Packs: Safer defaults inside the IDE International AI Safety Report 2026: What It Means for Autonomous AI Systems Self-Securing Software: What It Is, Why It Matters, and How It Works npx Confusion: Packages That Forgot to Claim Their Own Name What Is Continuous Pentesting? Introducing Aikido Package Health: a Better Way to Trust Your Dependencies AI Pentesting: Minimum Safety Requirements for Security Testing Secure SDLC for Engineering Teams (+ Checklist) Fake Clawdbot VS Code Extension Installs ScreenConnect RAT G_Wagon: npm Package Deploys Python Stealer Targeting 100+ Crypto Wallets Gone Phishin': npm Packages Serving Custom Credential Harvesting Pages Malicious PyPI Packages spellcheckpy and spellcheckerpy Deliver Python RAT Top 10 AI Security Tools For 2026 Agent Skills Are Spreading Hallucinated npx Commands Understanding Open-Source License Risk in Modern Software The CISO Vibe Coding Checklist for Security Top 6 Graphite alternatives for AI code review in 2026 From “No Bullsh*t Security” to $1B: We Just Raised Our $60m Series B Critical n8n Vulnerability Allows Unauthenticated Remote Code Execution (CVE-2026-21858) Top 14 VS Code Extensions for 2026 AI-Driven Pentesting of Coolify: Seven CVEs Identified Top Continuous Pentesting Tools in 2026 SAST vs SCA: Securing the Code You Write and the Code You Depend On JavaScript, MSBuild, and the Blockchain: Anatomy of the NeoShadow npm Supply-Chain Attack How Engineering and Security Teams Can Meet DORA’s Technical Requirements IDOR Vulnerabilities Explained: Why They Persist in Modern Applications Shai Hulud strikes again - The golden path MongoBleed: MongoDB Zlib Vulnerability (CVE-2025-14847) and How to Fix It First Sophisticated Malware Discovered on Maven Central via Typosquatting Attack on Jackson The Fork Awakens: Why GitHub’s Invisible Networks Break Package Security Top 10 Cyber Security Tools For 2026 SAST in the IDE is now free: Moving SAST to where development actually happens AI Pentesting in Action: A TL;DV Recap of Our Live Demo The Top 7 Threat Intelligence Tools in 2026 React & Next.js DoS Vulnerability (CVE-2025-55184): What You Need to Fix After React2Shell OWASP Top 10 for Agentic Applications (2026): What Developers and Security Teams Need to Know DAST vs Pentesting v AI Pentesting: Why DAST Cannot Replace Modern Pentesting PromptPwnd: Prompt Injection Vulnerabilities in GitHub Actions Using AI Agents Top 7 Cloud Security Vulnerabilities Critical React & Next.js RCE Vulnerability (CVE-2025-55182): What You Need to Fix Now How to Comply With the UK Cybersecurity & Resilience Bill: A Practical Guide for Modern Engineering Teams Shai Hulud 2.0: What the Unknown Wonderer Tells Us About the Attackers’ Endgame SCA Everywhere: Scan and Fix Open-Source Dependencies in Your IDE Safe Chain now enforces a minimum package age before install Shai Hulud Attacks Persist Through GitHub Actions Vulnerabilities Shai Hulud Launches Second Supply-Chain Attack: Zapier, ENS, AsyncAPI, PostHog, Postman Compromised CORS Security: Beyond Basic Configuration Revolut Selects Aikido Security to Power Developer-First Software Security The Future of Pentesting Is Autonomous How Aikido and Deloitte are bringing developer-first security to enterprise Secrets Detection: A Practical Guide to Finding and Preventing Leaked Credentials Invisible Unicode Malware Strikes OpenVSX, Again AI as a Power Tool: How Windsurf and Devin Are Changing Secure Coding Building Fast, Staying Secure: Supabase’s Approach to Secure-by-Default Development OWASP Top 10 2025: Official List, Changes, and What Developers Need to Know Top 10 JavaScript Security Vulnerabilities in Modern Web Apps The Return of the Invisible Threat: Hidden PUA Unicode Hits GitHub repositorties Top 7 Black Duck Alternatives in 2026 What Is IaC Security Scanning? Terraform, Kubernetes & Cloud Misconfigurations Explained AutoTriage and the Swiss Cheese Model of Security Noise Reduction Top Software Supply Chain Security Vulnerabilities Explained The Top 7 Kubernetes Security Tools Top 10 Web Application Security Vulnerabilities Every Team Should Know What Is CSPM (and CNAPP)? Cloud Security Posture Management Explained
What is Slopsquatting? The AI Package Hallucination Attack Already Happening
Dania Durnas · 2026-02-20 · via Aikido Security's Blog

Typosquatting, registering a typoed version of a popular package and waiting for a developer to accidentally type and install the wrong package, has been around for a decade in npm. It’s nothing new— the registry has protections for it. 

Then AI came along and changed everything again. Slopsquatting is the new, AI flavor of typosquatting. Instead of betting on human typos, attackers bet on AI hallucinations, the package names that LLMs confidently recommend that don't actually exist. For a while, this was treated as a theoretical risk, but that's no longer the case. AI hallucinations are in the room with us, and so are the slopsquatters. 

In this piece, we'll look at how slopsquatting works, what researchers are finding in the wild right now, and what you can actually do about it.

Slopsquatting, also called hallucination squatting, is what happens when an attacker registers a package name that AI models tend to hallucinate, then waits for developers to install it on an AI's recommendation. Squatting attackers rely on AI assistants confidently suggesting package names that don't exist, and developers trusting them that it's a real package that they have asked for.

When a developer run install on this package name, they get the attacker's package. The package will generally run some post-install script that steal whatever credentials are sitting in the environment (API keys, cloud tokens, npm auth tokens) and forwards them to the attacker.

While some packages just include the attack in a post-install script, fancier packages skip putting malicious code in the package entirely, instead using npm's support for URL-based dependencies to fetch a payload from an external server at install time. The package looks clean to any naive static scanner because there’s no obviously malicious code.

Let’s say you ask your AI to install a JavaScript linter package. It offers unused-imports and asks if you want to install it (if it doesn’t just bypass asking you altogether). This sounds like the package you’ve used before, so you install it.

Claude wants to run: npm install unused-imports
[y] Accept  [n] Reject  [e] Edit  [Esc] Cancel

However, the real package is eslint-plugin-unused-imports. Turns out, unused-imports is a malicious package, and surprise! You just installed malware! (This is actually a real malicious package, by the way, and potentially an intentional slopsquatting attack. You can look it up on Aikido Intel. npm has it under a security hold now).

LLMs actually hallucinate package names quite a bit. Mackenzie Jackson, Developer Advocate at Aikido Security, described a hallucination he encountered on an episode of the Secure Disclosure podcast. He asked an AI to help connect his Node.js project to an OrientDB database, a technically feasible but uncommon combination with no obvious package solution. Instead of admitting it was stumped, the model invented package names. Mackenzie says of the AI’s thought process, "I don't have anything for you, but I need to have something for you, so here's what I think packages for this would be called."

How is slopsquatting different from typosquatting?

Typosquatting is when an attacker registers a malicious package with a name close enough to a popular package that a user will typo their way into it. Attackers will find a high-download package with a name that's easy to misspell, drop a hyphen, swap two letters, add an extra character, and “squat” on the misspelled package before anyone else does. Typosquatting has been a fixture of npm since at least 2017, when an attacker published crossenv, a squat of the popular cross-env package. npm now has protections against this, by preventing the registration of package names too similar to exisiting ones.

Slopsquatting is typosquatting, but instead of betting on a human's fat fingers, attackers are betting on an AI being confidently wrong. (Yeah, that’s how reliable AI is considered right now). The main difference between slopsquatting and typosquatting we’ve had in the past is that the variants look totally different, and with the former, there’s a higher volume of names for attackers to choose from.

For example, 8.7% of AI hallucinated Python package names turned out to be valid JavaScript packages. In this case, the model makes the right connection to a real thing, just in the wrong ecosystem. Fertile ground for attackers to register package names from other ecosystems.

Researchers at USENIX Security 2025 tested 16 models across 576,000 code samples and found that hallucinations follow predictable patterns: 38% are conflations like express-mongoose, where the model mashes two real things together, 13% are typo variants, and 51% are pure fabrications. That's a much bigger pool of squattable names than typosquatting ever offered, and unlike typosquatting, none of these new names have anything to be "similar to" in npm's protection system.

Is slopsquatting happening now?

We think so. We're seeing malware packages whose names are consistent with slopsquatting pattern, but we can’t prove what the attackers intend with the names. Take unused-imports, the confirmed malicious package that we talked about earlier. As of early February, it was still pulling 233 downloads a week. Those developers are either following AI recommendations that are still pointing at this name, have it somewhere in their dependency tree and are reinstalling it, or found it in the docs or Stack Overflow that haven't been updated.

However, researchers are definitely finding and proving the first precursors of slopsquatting in real life. In early 2024, Bar Lanyado of Lasso Security noticed AI models repeatedly hallucinating a Python package called huggingface-cli. The real tool installs differently, as pip install -U "huggingface_hub[cli]", but models kept suggesting the shorter, non-existent version. Lanyado uploaded an empty package under that name to PyPI to see what would happen. 

huggingface-cli got more than 30,000 authentic downloads in three months. Alibaba had copy-pasted the hallucinated install command into the README of one of their public repositories. The package was harmless, but Lanyado proved this strategy works. Alibaba is just lucky Lanyado figured it out before an attacker did.

An AI package hallucination that spread on its own

Charlie Eriksen, Security Researcher at Aikido found something even more wild– a hallucinated package name spreading through real AI infrastructure, with real agents trying to execute it, that nobody planted deliberately. In January 2026, Charlie claimed this npm package called react-codeshift. The package wasn’t real, had no author, and definitely hadn’t been registered before. The name is a classic hallucination-by-conflation. Two real packages with similar names exist, jscodeshift and react-codemod, which an LLM mashed together to invent the name react-codeshift

The package had made its first appearance in a single commit of 47 LLM-generated Agent Skills. We can guess that an AI was asked to generate a set of coding agent instructions, and in doing so, hallucinated package names it would need to carry out those tasks. No human reviewed the output (or at least didn’t test it), so this AI hallucination was immortalized via GitHub.

By the time Charlie had found it as part of his research on unclaimed packages, this non-existent package’s name had spread to 237 repositories through forks and been translated into Japanese. After Charlie claimed it, react-codeshift kept getting a couple of daily downloads. Those are AI agents following skill instructions and triggering npx installs in real environments. If an attacker had registered it first, there could have been a larger slopsquatting attack that spread organically

How to protect against slopsquatting attacks

Verify the publisher, not just the name

The obvious answer is to verify package names before installing, but it’s really not that simple. Download count isn't a reliable signal (we saw that malicious packages still have regular daily downloads). What actually matters is the publisher: who registered this package, when, and does that match what you'd expect from a legitimate maintainer? A package claiming to be an eslint plugin with no maintainer information and a registration date of last Tuesday is a red flag, regardless of its download numbers.

Treat autonomous package installation as a privileged operation

If you're running AI agents that can install packages without confirmation, Claude Code in bypass mode, an agentic coding setup, or CI pipelines with broad npm permissions, the verification step you'd normally do as a human is gone. The agent will just proceed if it has the authority. That's the threat model slopsquatting is built around, so scope those permissions accordingly.

Scan your full dependency tree

Some hallucinated package names are ending up as nested dependencies rather than direct installs, which means they won't surface in your package.json. A software composition analysis (SCA) scanner looks at your full dependency tree to catch hidden, buried malicious packages.

Use SafeChain for npm-level protection

Aikido SafeChain is an open source wrapper for npm, npx, yarn, and pnpm that intercepts package install commands and checks them against Aikido Intel before anything hits your machine.

Conclusion

Unclaimed package names have always been claimable, but we now have AIs that confidently give us fake package names to install and AI agents that spread the names across repositories.

As vibe coding becomes the norm and more lobster-themed AI agents start coding with no humans around (read our piece on ‘Why trying to secure OpenClaw is ridiculous’), the window for a human to catch a bad package name before it runs keeps shrinking. We’ve seen that the names the LLMs hallucinate are consistent and repeatable, and attackers are catching on.

Check your dependency trees. Verify publishers. And use a tool that sits between your package manager and the registry and does the checking for you.