JustAppSec
Back to news

Malicious axios npm releases drop cross-platform RAT dependency

2 min readPublished 30 Mar 2026Source: StepSecurity

TL;DR — Malicious axios releases on npm added a hidden postinstall dropper dependency, so any environment that installed [email protected] or [email protected] should be treated as compromised.

What happened

axios is one of the most widely used JavaScript HTTP client libraries, commonly pulled into both browser and Node.js applications via npm.

StepSecurity reports a supply-chain compromise where two malicious npm releases ([email protected] and [email protected]) were published using compromised credentials for a lead axios maintainer account. The attacker did not add malicious code to the axios source itself; instead, the releases injected a new runtime dependency, [email protected], which exists only to run a postinstall script that acts as a cross-platform remote access trojan (RAT) dropper (Windows/macOS/Linux).

StepSecurity highlights a key forensic signal: legitimate axios 1.x releases are published via GitHub Actions using npm OIDC Trusted Publishing, but [email protected] was published manually (no OIDC trustedPublisher metadata, no gitHead, and no corresponding GitHub commit/tag). This incident is a reminder that “phantom dependencies” plus install scripts remain one of the highest-blast-radius supply-chain patterns in the npm ecosystem, especially for projects that accept semver ranges and run installs automatically in CI.

Who is impacted

  • Any project, developer workstation, or CI runner that installed either compromised version:
  • Environments where dependency installs execute lifecycle scripts (the plain-crypto-js payload is triggered via postinstall).
PackageCompromised version(s)Clean prior version(s) referenced by source
axios1.14.1, 0.30.41.14.0, 0.30.3
injected dependency[email protected](npm later published a security-holder stub per the report)

StepSecurity-provided indicators include:

  • Malicious package shasums:
  • Example network indicator observed by StepSecurity Harden-Runner: sfrclak.com:8000.
  • Example host artifacts listed by StepSecurity (paths vary by OS), including /tmp/ld.py (Linux) and /Library/Caches/com.apple.act.mond (macOS).

What to do now

  • Follow incident remediation guidance from the incident write-up and your internal IR runbooks. StepSecurity’s remediation section includes:
  • Triage exposure quickly:
    • Use StepSecurity’s suggested checks to locate the versions in your dependency graph and lockfiles (e.g., npm list axios | grep -E "1\.14\.1|0\.30\.4") and check whether node_modules/plain-crypto-js exists.
  • Apply the source’s rollback/pinning guidance (explicitly provided in the report):
  • Reduce repeat exposure from lifecycle scripts during investigation/containment:
    • "npm install --ignore-scripts"

  • Treat any CI/CD pipeline run that installed the malicious versions as a secret-exposure event (per the report):
    • Rotate credentials accessible to the runner at install time (e.g., npm tokens, cloud keys, SSH keys, and CI secrets).
  • If you find RAT artifacts or cannot confidently scope execution, use the report’s containment guidance:
    • "Treat the system as fully compromised. Do not attempt to clean in place — rebuild from a known-good state."


Content is AI-assisted and reviewed by our team, but issues may be missed and best practices evolve rapidly, send corrections to [email protected]. Always consult official documentation and validate key implementation decisions before making design or security choices.

Need help?Get in touch.