Skip to content
OpenAdvisories
Malicious MAL-2026-18186

net-codec-testmetest

npm package · versions 1.0.1

Reported Oct 22, 2026 · Updated Oct 22, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (7bf1dbafca56ccfcb849f9ebb80b7a1cdf42007fd12618492620e0f7660476b2)
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.