Poisoned Pipeline / Techniques / T0129
Typosquatting
Typosquatting is an attack technique where an attacker creates a package or container with a name that is very similar to a legitimate one, in hopes that a user will make a typo and download the malicious package or container.
For example, if a legitimate package is named "numpy," an attacker might create a package named "numpyy" or "numpi" in hopes that a user will accidentally install the malicious package instead.
In container security, it involves creating a container image with a similar name to a legitimate one, while in open-source security, it involves creating a malicious package with a similar name to a legitimate one.
Once the user installs the malicious package or container, the attacker can potentially gain access to the user's system or data, or inject malicious code into the user's environment.
Where this idea came from
Identified in published CI/CD or supply-chain security research cited below.
- https://bytesafe.dev/posts/understanding-typosquatting-methods/
- https://cycode.com/typosquatting-repojacking-domain-takeover/
- https://www.reversinglabs.com/blog/beware-impostor-http-libraries-lurk-on-pypi
Sub-techniques
- T0157 Combosquatting
Mitigations
- M1290 Double-checking package or container names
- M1291 Verify package or container sources
- M1500 Verify third-party artifacts and open-source libraries
- M1502 Define trusted package managers and repositories
- M1503 Implement SCA analysis
Detections
- D1500 Configure monitoring of used artifacts and open-source libraries
- D1510 Implement Intrusion Detection System and anti-malware
- D1520 Implement endpoint detection and response system
Observed in incidents (45)
- big.js typosquats sjs/bjs/cjs-biginteger SSH backdoors
- WEL1DROPPER / NUL1DROPPER npm slopsquatting
- SLF4J Java logger impersonation on npm
- PyPI typosquats targeting Bittensor developers
- express-session-js typosquat paste-service RAT
- Malicious Go modules (obfuscated payloads, SSH lure, proxy cache)
- Express cookie-parser impersonation on npm
- Non-npm registry one-offs (NuGet, Maven xz, Laravel Packagist, evm-units)
- Typosquat npm packages backdoor Claude Code SessionStart
- JuiceStealer PyPI phishing and typosquats
- hermes-px PyPI steals AI conversations
- indexed-btree runtime npm loader
- MYRA Linux RAT via apintergrationpost
- PyPI SymPy impersonation cryptominer
- DPRK Contagious Interview (BeaverTail / npm + git)
- PyPI typosquats (passlib, fabric, cookie lib, AnyDesk, Deezer, Instagram)
- PhantomRaven hidden HTTP npm dependencies
- mathmain / mathsbase encrypted npm RAT (equation trigger)
- Baileys npm forks farming WhatsApp Channel follows
- marchos1as typosquatted yay on the AUR and ran a root install scriptlet
- @mastra scope poisoned via typosquat easy-day-js
- StubMaker RubyGems (and npm) Windows infostealer
- Deep-Live-Cam malicious git dependency
- Go packages impersonate Google UUID library
- ulid-xyz RAT via ioredis-xyz transitive chain
- turbo-axios / faster-axios Epsilon Stealer typosquats
- npm/PyPI typosquats of secure payment apps
- Forty-two RubyGems from reqthrottle_3474 run a reverse shell or a crypto stealer at install
- Operation Navy Ghost fake pyrogram packages on PyPI
- Typosquatted AI-tool npm packages under a real-identity publisher
- crates.io arrayref / proc-macro1 build-time dropper
- nodemon-sudo backdoor via tslint-conf (no install script)
- Finch crate impersonation credential theft
- durabletask PyPI multi-cloud credential stealer
- Named npm malware families (Skeleton Squad, Skuld, Quasar, FezBox, Koishi)
- Graphalgo spreads to Terraform providers and Go modules
- VHX Harvester panel ran npm typosquat recon into a vast.ai GPU-cloud intrusion
- nyc-config typosquat of @istanbuljs/load-nyc-config
- DirtyBlanket fake Express/React packages spread a self-propagating Linux worm
- Trojanized fork martinez-polygon-clipping-tony
- BRIDGEHEAD npm typosquats jump WSL to a Windows wallet stealer
- Go decimal library typosquat with DNS backdoor
- Crypto-developer package theft (Flashbots, BSC, Solana, TON)
- TensorFlow.js typosquat targeting ML developers
- Stardrop npm campaign (VC, luxury, AI brands)