MAL-2026-14255 Malicious code in secp256k1-lib (npm)
Malicious package
Published
MAL-2026-14255 is a malicious package: secp256k1-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-14255/ (Markdown: https://insights.sbomify.com/MAL-2026-14255/index.md)
- Package
- secp256k1-lib
- Registry
- npm
What is MAL-2026-14255?
MAL-2026-14255 is a malicious package in secp256k1-lib, published on 19 Aug 2026.
Official description
Package name mimics the widely used
secp256k1 cryptography library but contains no cryptographic functionality. The declared main (index.js) is a single 33KB obfuscator.io-packed bundle whose only readable tokens are require( and axios; all strings — including target hostnames, URLs, and function names — are hex-escaped entries in the _0x4058 string array that are reconstructed at runtime. README is 24 bytes and the package description (logger tool for validation entry) does not match a secp256k1 implementation. On require('secp256k1-lib') the obfuscated bundle executes and instantiates an HTTP client (axios) targeting a runtime-constructed destination that could not be recovered from the shipped bytes. Shape matches a credential/wallet-stealer loader: name confusion with a high-value crypto package + no legitimate functionality + obfuscated import-time network capability with a hidden destination.What should I do about MAL-2026-14255?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.