Incident Scope And Impacted Releases
Sources: 1 • Confidence: High • Updated: 2026-04-12 10:22
Key takeaways
- Axios versions 1.14.1 and 0.30.4 added a new dependency named plain-crypto-js.
- If Axios adopted npm trusted publishing, only its GitHub Actions workflows would be able to publish releases to npm.
- The malware packages were published to npm without an accompanying GitHub release.
- The plain-crypto-js package was newly published malware that stole credentials and installed a remote access trojan.
- Axios (an npm HTTP client) was targeted by a supply-chain attack.
Sections
Incident Scope And Impacted Releases
- Axios versions 1.14.1 and 0.30.4 added a new dependency named plain-crypto-js.
- The plain-crypto-js package was newly published malware that stole credentials and installed a remote access trojan.
- Axios (an npm HTTP client) was targeted by a supply-chain attack.
Publishing-Path Failure Mode And Preventative Control
- If Axios adopted npm trusted publishing, only its GitHub Actions workflows would be able to publish releases to npm.
- The unauthorized publishing of the malicious Axios versions likely involved a leaked long-lived npm token.
Release-Anomaly Detection Heuristic Across Incidents
- The malware packages were published to npm without an accompanying GitHub release.
- A similar pattern of npm publication without a matching GitHub release was observed in the LiteLLM incident the prior week.
Unknowns
- What is the confirmed root cause of the unauthorized publishing (e.g., which credential was used, from where, and when)?
- What is the distribution and real-world impact of the malicious Axios versions (e.g., how widely installed, in what environments, and for how long)?
- What are the concrete indicators of compromise for plain-crypto-js (execution traces, persistence methods, outbound destinations, and timing)?
- Did Axios already use npm trusted publishing at the time, and if not, what part of the release process allowed direct token-based publishing?
- How often do npm publishes lack matching GitHub releases in benign cases, and how predictive is this anomaly for compromise?