On March 29, 2025, compromised versions of axios were published to npm (1.14.1 and 0.30.4). They include a malicious dependency (plain-crypto-js) that drops a remote access trojan on your machine.
This script checks if any of your local projects are affected.
Run from the root of your projects folder (e.g. ~/projects):
cd ~/projects && curl -sL "https://raw.githubusercontent.com/makeabledk/axios-checker/main/checker-1.1.0.sh" | bash- Persistence files — checks for malware artifacts dropped on disk:
- macOS:
/Library/Caches/com.apple.act.mond - Linux:
/tmp/ld.py
- macOS:
- C2 domain — checks if the command-and-control server
sfrclak.comresolves via DNS
- package-lock.json — checks if the resolved axios version is
1.14.1or0.30.4 - yarn.lock — same check for yarn-based projects
- npm ls — checks actually installed axios version in
node_modules - Malware package — checks for presence of
node_modules/plain-crypto-js
- Treat the machine as compromised
- Rotate all credentials — npm tokens, AWS keys, SSH keys, CI/CD secrets
- Remove the malware:
rm -rf node_modules/plain-crypto-js - Downgrade axios:
npm install axios@1.14.0 - Block C2:
sudo sh -c 'echo "0.0.0.0 sfrclak.com" >> /etc/hosts' - Consider rebuilding the machine from a known-good state
bashjqnpm