Affected Systems
Over 400 npm packages including widely used packages like keyv and cacheable-request. Affects developer workstations, CI/CD pipelines (especially GitHub Actions), cloud environments, and downstream software users. Worm uses Bun runtime 1.3.13 as execution vehicle. 453 public GitHub repositories across five accounts and 10 distinct environments observed compromised.
Exploitation Status
Active exploitation confirmed. Unit 42 observed live operations and detected ChainDrop execution across 10 environments. Adversary demonstrated active C2 infrastructure reconfiguration via Ethereum transaction on August 4, 2026. Worm is self-propagating using stolen npm publishing tokens.
Business Impact
High-severity supply chain compromise affecting hundreds of millions of weekly package downloads. Worm steals cloud credentials, npm/GitHub tokens, SSH keys, and GitHub Actions runner secrets. Can propagate autonomously by republishing infected packages while maintaining legitimate functionality. Uses Ethereum smart contracts for C2, enabling silent infrastructure changes without malware updates. Establishes persistence through developer and AI coding tools. Exfiltrates data via domain-based and GitHub-based channels.
Urgency
🔴 Immediate
Recommended Actions
- Audit npm dependencies for affected packages (keyv, cacheable-request, and related) and remove malicious versions immediately
- Search developer workstations and CI/CD runners for indicators: preinstall hooks calling setup.mjs, math_init.js payload files, _NODE_RUNTIME_INIT=1 environment variable, and Bun 1.3.13 downloads from unexpected contexts
- Revoke and rotate all npm publishing tokens, GitHub personal access tokens, cloud provider credentials (AWS/Azure/GCP), SSH keys, and CI/CD secrets that may have been exposed since package installation
- Review GitHub Actions workflow logs for worm debug output and investigate unexpected npm package publishing activity or new repository creation across organizational accounts
- Block exfiltration channels identified by Unit 42 and remove persistence mechanisms from developer tools and AI coding assistants
