SLOPSQUATTING CHECK · RUNS ENTIRELY IN YOUR BROWSER, NO NETWORK CALL

Did an AI assistant just suggest a package that doesn't exist?

LLM code generators regularly suggest npm install commands for packages that were never published. A May 2025 USENIX Security study found 19.7% of packages recommended by 16 code-generating models did not exist at all. Attackers know this: they pre-register the exact names models are likely to hallucinate, so the next developer who copies the suggestion installs the attacker's package instead of getting an install error — a technique now called slopsquatting.

Paste your package.json below. Nothing is uploaded -- this page has no network call of any kind, on purpose. It flags names that look like a typo of a famous package; it cannot check whether a name actually exists on the registry right now. Get the free CLI below for that.

1. Paste your package.json

Want the real answer, not a guess from a name list?

This page compares names against roughly 130 well-known packages hard-coded into it -- it has no way to know whether a name that isn't on that list actually exists. The CLI answers the question that actually matters: is this name registered at all, and if it is, does it look freshly squatted? Same zero-dependency shape as this portfolio's other supply-chain checkers.

node cli.mjs                     # scan ./package.json against the live registry
node cli.mjs path/to/package.json
node cli.mjs --json
node cli.mjs --strict            # also fail CI on a suspiciously new (but real) name

Get cli.mjs and engine.mjs -- Node 18+, nothing to install. It sends only each dependency's name to registry.npmjs.org, one read-only request per name -- the only network call anywhere in this tool.

Real, dated incidents that used exactly this mechanism

CaseDateMechanismWhat happened

More: what is slopsquatting, and why doesn't a lockfile already protect you. See also how this compares to Socket, an ongoing registry-aware scanning service, and how this compares to just reading package.json by hand.

Common questions

What is slopsquatting?

Registering a package name that a large language model hallucinates in generated code. A May 2025 USENIX Security study found 19.7% of packages recommended by 16 code-generating models did not exist at all. If a developer copies an AI's install suggestion without checking, and an attacker has already registered that exact hallucinated name, the install silently succeeds against the attacker's package instead of failing.

Does this page check the live npm registry?

No, and deliberately so. This page never sends anything anywhere -- it only compares the names you paste against a short built-in list of about 130 extremely well-known packages, entirely in your browser. For the real question -- does this exact name exist right now, and if so how new and untrusted does it look -- use the companion CLI, which is the only part of this tool that touches the network, making one read-only request per dependency to registry.npmjs.org.

Is a flagged name proof of anything?

No. A near-miss of a famous package name can be a coincidence, an unrelated real package, or a genuine typosquat -- this tool cannot tell those apart, on the browser page or in the CLI. A flag means "read this one before you trust it", the same framing this portfolio's other supply-chain checkers use, never a verdict.

Is my dependency data uploaded anywhere?

No. The browser page parses the package.json you paste entirely in your own browser and never sends it anywhere -- there is no fetch call in this page at all. The CLI reads your local file and sends only each dependency's name (never the whole file, never your code) to the public npm registry, one request per name.