Stop 40 of 42 · The New Hire · Slopsquatting / hallucinated packages

The supplier who doesn’t exist

The bank’s new assistant writes a shopping list of suppliers, and one name on it is made up. It sounds real, so nobody checks. If a crook registers that exact name first, the next order delivers the crook’s parcel straight into the back office. In one experiment, a researcher uploaded an empty package under a hallucinated name, and it got more than 30k downloads in three months, according to Lasso Security.

The New HireSources checked 25 Oct 2026

Watch it happen

Play it as

The AI assistant lists a supplier that does not exist. Mallory registers that name, and Alice’s install delivers Mallory’s parcel to the back office.

Arrival

Alice is building the bank’s new system with the AI assistant. She asks it to write the code and say which outside suppliers (packages) to order.

Alice says: Build me a file importer.
1 / 5

In bank terms and app terms

In the bankIn your app
A made-up supplier on the shopping listA package name the AI invented
Mallory registering that supplierAn attacker publishing a package under the missing name
The parcel’s setup scriptCode a package can run during npm install or pip install
The approved, locked supplier listA lockfile with pinned versions and hashes

Are you exposed?

You might be exposed if…
  • You paste install commands from an AI answer without looking the package up.
  • Nobody on the team checks a package’s publisher, age or repository before adding it.
  • Installs run without a lockfile, or anyone can add a new dependency with no review.
What to do about it
  1. Before installing anything the AI suggests, look it up on the registry: does it exist, who publishes it, how old is it, how many downloads (a low count is a warning sign, but a high one is not proof of safety), and does its repository really contain the same code.
  2. Commit your lockfile and install from it (npm ci; for pip, pin exact versions with hashes and use --require-hashes).
  3. Cut down install-time code: consider npm install --ignore-scripts when installing code you haven’t vetted (it applies to the whole install and can break packages that need a build step, and it does not stop a package’s code running once you import it), and use a private registry or allow-list so only approved names can be installed.

Track these in your to-do list →

Ask your AI tool to fix it

Paste this into Cursor, Claude, Lovable, Bolt or whatever you build with.

Prompt
List every dependency in this project (package.json, requirements.txt and any lockfiles). For each one that I did not clearly choose myself, tell me what it does, who publishes it, and the link to its repository so I can check it is real and matches. Flag any that look very new, rarely used, or have no matching repository. Make sure a lockfile with pinned versions is committed, and do not add any new package without telling me its exact name and why it is needed. Only state facts you can see in the registry metadata or lockfile; say “unknown” otherwise.

Where this comes from

The facts, figures and fixes on this page were checked against these sources on 25 Oct 2026. They are linked so you can check for yourself.

Spot a mistake or something out of date? Report a correction · How these guides are made and checked

Go deeper in isitsecure

The free, open-source scanner checks for most of the problems in these guides.