Logo
npm

log-sink-testmetest@1.0.1

Vulnerability report · Last retrieved from osv.dev October 22, 2026 at 3:30 PM UTC

Malicious

OSV ID

MAL-2026-18179

Ecosystem

npm

Summary

log-sink-testmetest@1.0.1 ships a binding.gyp that uses GYP command expansion <!(env node index.js...; echo stub.c) on a target of type none with no C/C++ sources. Because npm invokes node-gyp rebuild whenever a binding.gyp is present, this expansion causes index.js to be executed on npm install with no scripts declaration. index.js itself is a String.fromCharCode array wrapped in eval() over a Caesar-shifted (shift 10) decryptor stub. The decoded stub reads the sibling data.bin (~372KB opaque blob), AES-128-GCM-decrypts it with hardcoded key/iv/aad, gunzips the result, and then either evals the resulting JavaScript or spawns a Bun runtime and pipes the decrypted payload into Bun via stdin. The binding.gyp ships no native sources, so its sole purpose is to trigger execution of the encrypted payload at install time. The combination of a no-sources binding.gyp used purely as a lifecycle hook, multi-layer obfuscation (charcode → Caesar → eval → AES-GCM → gzip → eval), an opaque encrypted payload, and an alternate-runtime (Bun) execution branch to evade Node-focused inspection is a staged install-time dropper.

Source: amazon-inspector (b429dffb99ce1de5d5c43b4d59da752748d6400d53f36485ce9e78faaa6e6881)

Protect your entire dependency tree

Scan your lock files automatically on every PR. Block malicious packages before they reach production.