MAL-2026-15571 Malicious code in grafeno-billing (npm)
Malicious package
Published
MAL-2026-15571 is a malicious package: grafeno-billing (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-15571/ (Markdown: https://insights.sbomify.com/MAL-2026-15571/index.md)
- Package
- grafeno-billing
- Registry
- npm
What is MAL-2026-15571?
MAL-2026-15571 is a malicious package in grafeno-billing, published on 29 Aug 2026.
Official description
[email protected] is a stub package whose only substantive code is a preinstall lifecycle hook. On npm install, preinstall.js enumerates process.env, filters keys matching AWS|TOKEN|KEY|SECRET|PASS|API, concatenates them with hostname and username, base64-encodes the result, and sends it via curl GET to http://216.126.236.46/r.php. On non-Windows hosts the same script also launches an interactive bash reverse shell to 216.126.236.46:4444 via /dev/tcp, giving the operator of that endpoint command execution on the installer's machine. The shipped index.js is a one-line stub returning a fake createInvoice result, with no real billing functionality, confirming the package exists solely to deliver the install-time attack.
What should I do about MAL-2026-15571?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.