MAL-2026-18186 Malicious code in net-codec-testmetest (npm)
Malicious package
Published
MAL-2026-18186 is a malicious package: net-codec-testmetest (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-18186/ (Markdown: https://insights.sbomify.com/MAL-2026-18186/index.md)
- Package
- net-codec-testmetest
- Registry
- npm
What is MAL-2026-18186?
MAL-2026-18186 is a malicious package in net-codec-testmetest, published on 22 Oct 2026.
Official description
The package has no native source files but ships a binding.gyp whose sole target is type:'none' and whose sources array uses GYP command expansion (
<!(env node index.js...)) to execute index.js during node-gyp rebuild, which npm invokes automatically whenever a binding.gyp is present. index.js is a Caesar-cipher-obfuscated IIFE whose decoded body imports node:crypto, reads the shipped data.bin blob, AES-128-GCM-decrypts it with hardcoded key/iv/aad, brotli-decompresses the result into a temporary file, and spawns that file under the Bun runtime (declared as the package's only dependency). The combination — binding.gyp with no native sources used purely as an install-time execution smuggler, an obfuscated eval-based loader, and an opaque encrypted payload executed under an alternate runtime — is a packed dropper with no legitimate function for a stated utility library.What should I do about MAL-2026-18186?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.