mjs-eslint-helpernpm
Malicious code in mjs-eslint-helper (npm) Remove it immediately and rotate any exposed credentials.
What this malware does
The package decodes base64 string literals via Buffer.from(..., 'base64').toString() and pipes the resulting content into execSync('bash...') and execSync('zsh...') invocations in index.js (lines 9, 101, 117, 194, 195). This is the canonical fingerprint of an install-time/import-time dropper: an obfuscated payload is decoded and executed through a shell interpreter, giving the publisher arbitrary code execution on any machine that installs or requires this package. The package name impersonates the eslint helper namespace, consistent with a typosquat lure delivering an active payload. No legitimate eslint helper requires shelling out to bash/zsh from a base64-decoded blob.
Malicious versions
Indicators of compromise (SHA-256)
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Scan your dependencies
O3 Security blocks malicious packages like this at install time and in CI.
Supply-chain protection