Campaigns

Named operations tying packages, indicators, and techniques together.

Claude Code Hook Backdoors

Five npm packages (iceberg-javascript, supabase-javascript, auth-javascript, microsoft-applicationinsights-common, ms-graph-types) that abuse Claude Code hooks to backdoor AI coding sessions.

5 pkgs 3 IOCs 7 TTPs
shetty123 Telegram Hijack

A Telegram account-takeover operation by npm publisher shetty123 ([email protected]). Pairs a malicious client (common-tg-service) with the operator's server-side runtime (ams-ssk) deployed at cms.paidgirl.site. Targets Indian Telegram accounts for downstream UPI payments fraud.

2 pkgs 3 IOCs 11 TTPs
Mini Shai-Hulud

Three compromised versions of the Microsoft durabletask Python SDK (1.4.1, 1.4.2, 1.4.3) were published to PyPI, each downloading a stage-2 payload that steals credentials from AWS, Azure, GCP, Kubernetes, HashiCorp Vault, and password managers, then propagates to other hosts via SSM and kubectl exec.

495 pkgs 36 IOCs 15 TTPs
Crypto Wallet Drainers

npm packages using Polymarket and DeFi trading lures to steal cryptocurrency wallet private keys and drain victim funds.

10 pkgs 5 IOCs 8 TTPs
fucktestpad npm Malware

npm packages from a single operator delivering Windows RATs and browser cookie/credential stealers. Every variant exfiltrates to [email protected], linking the packages to one actor.

4 pkgs 4 IOCs 11 TTPs
forge-jsx RAT

Multi-wave npm supply chain campaign deploying a cross-platform RAT disguised as Autodesk Forge SDK packages. Uses shared C2 infrastructure at 204.10.194.247 across waves. Wave 1 (forge-jsx, April 2026) provided base RAT capabilities. Wave 2 (forge-jsxy, May 2026) added Discord screenshot exfiltration, Hugging Face uploads, crypto wallet scanning, Chromium extension harvesting, WebRTC P2P, and durable persistence outside node_modules.

3 pkgs 14 IOCs 20 TTPs
tanvisoul9 npm Backdoors

npm packages published by a single operator that plant SSH backdoors and full remote access trojans on developer machines. All variants exfiltrate stolen data to the [email protected] mailbox, tying the packages to one actor.

3 pkgs 8 IOCs 10 TTPs
big.js Typosquat SSH Backdoor

Cluster of big.js and biginteger typosquats (sjs-biginteger, bjs-biginteger, cjs-biginteger and lint-builder variants) that implant SSH backdoors and steal developer keys.

7 pkgs 12 IOCs 10 TTPs
fairwords Credential Worm

Compromise of the @fairwords npm scope (websocket, loopback-connector-es, encryption) delivering a credential-harvesting worm.

3 pkgs 7 IOCs 9 TTPs
Strapi Plugin C2 Campaign

36 npm packages impersonating Strapi plugins that deploy Redis RCE, steal databases and maintain persistent command and control.

36 pkgs 2 IOCs 6 TTPs
TeamPCP

Umbrella supply chain campaign tracked by Wiz (Rami McCarthy) that compromises developer tooling, package registries, and CI/CD across npm, PyPI, Docker, VSCode, and Packagist. The initial wave abused Checkmarx-themed decoy domains (checkmarx.zone, audit.checkmarx.cx) and shared C2 (94.154.172.43) to trojanize litellm and, through a cascading KICS compromise, @bitwarden/cli. Attribution strings reuse Dune terminology, linking it to the Shai-Hulud worm family.

3 pkgs 15 IOCs 9 TTPs
Shai-Hulud

Self-replicating npm and PyPI supply chain worm that harvests developer, cloud, and registry credentials and propagates by publishing trojanized versions of every package the stolen tokens can reach. First seen September 2025 (@ctrl/tinycolor and peers, exposing private repositories and AWS credentials), it resurged as the larger 'Shai-Hulud 2.0' wave in November 2025 across @zapier, @asyncapi, posthog and @postman packages affecting 25,000+ repositories, and later reached PyPI through PyTorch Lightning. Named after the Dune sandworm; part of the broader TeamPCP activity.

25 pkgs 13 IOCs 13 TTPs
qix npm Account Compromise

September 2025 phishing compromise of npm maintainer 'qix' that hijacked 18 ultra-popular packages (chalk, debug, ansi-styles, strip-ansi and more, 1B+ weekly downloads) to inject a browser-based crypto wallet address swapper.

18 pkgs 12 IOCs 5 TTPs
s1ngularity nx Build System Compromise

August 2025 compromise of the nx build system and @nx/js that stole credentials, SSH keys and wallet data from Linux and macOS developers and published the loot to attacker-created GitHub repositories.

2 pkgs 0 IOCs 10 TTPs
Bittensor Typosquat Campaign

PyPI typosquats of the Bittensor SDK (bitensor, bittenso, bittenso-cli, qbittensor) that backdoor crypto and AI developers, steal wallet credentials and use DNS tunneling as a fallback exfiltration channel.

4 pkgs 0 IOCs 10 TTPs
eslint-config-prettier Compromise

July 2025 maintainer-phishing compromise that pushed malware through eslint-config-prettier, eslint-plugin-prettier, synckit, @pkgr/core and napi-postinstall, packages with tens of millions of weekly downloads.

5 pkgs 2 IOCs 4 TTPs
Enterprise Dependency Confusion

Dependency-confusion packages that mimic the private/internal package names of specific enterprises (Hyatt, Schedaero, Coca-Cola, Genoma and others) and beacon host and environment data to attacker-controlled collectors such as Burp Collaborator, requestcatcher and disposable inboxes.

18 pkgs 4 IOCs 8 TTPs
No Specific Campaign

Catch-all for isolated malicious packages that are not attributable to a tracked campaign.

26 pkgs 103 IOCs 15 TTPs