MAL-2026-13211 Malicious code in @zzzcrypto/bitcoin-lib (npm)
Malicious package
Published
MAL-2026-13211 is a malicious package: @zzzcrypto/bitcoin-lib (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-13211/ (Markdown: https://insights.sbomify.com/MAL-2026-13211/index.md)
- Package
- @zzzcrypto/bitcoin-lib
- Registry
- npm
What is MAL-2026-13211?
MAL-2026-13211 is a malicious package in @zzzcrypto/bitcoin-lib, published on 5 Aug 2026.
Official description
On require(), index.js serializes process.env together with hostname, username, homedir, platform, cwd, and a timestamp, base64-encodes the JSON, and sends it via HTTPS GET to api.telegram.org using a hardcoded bot token and chat_id. A tmp flag file gates re-execution to reduce noise. The package name @zzzcrypto/bitcoin-lib and its README present it as a drop-in for bitcoinjs-lib, and the code attempts require('bitcoinjs-lib') to transparently proxy the real library's API when present so callers observe normal behavior; the internal identifier in the exfil payload is @wethenorth12/bitcoin-lib, and identifier names in the harvester are scrambled (kffr, xqyv, qzph, _h). Environment variables in developer and CI processes routinely contain credentials, API tokens, and cloud keys, so this constitutes credential and host-identity theft against any process that imports the package.
What should I do about MAL-2026-13211?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.