{"id":"MAL-2026-18186","summary":"Malicious code in net-codec-testmetest (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (7bf1dbafca56ccfcb849f9ebb80b7a1cdf42007fd12618492620e0f7660476b2)\nThe 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 (`\u003c!(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.\n","modified":"2026-10-22T06:45:05.733009634Z","published":"2026-10-22T06:11:48Z","database_specific":{"malicious-packages-origins":[{"sha256":"7bf1dbafca56ccfcb849f9ebb80b7a1cdf42007fd12618492620e0f7660476b2","source":"amazon-inspector","versions":["1.0.1"],"id":"IN-MAL-2026-021578","import_time":"2026-10-22T06:30:24.841350261Z","modified_time":"2026-10-22T06:11:48Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/net-codec-testmetest/v/1.0.1"}],"affected":[{"package":{"name":"net-codec-testmetest","ecosystem":"npm","purl":"pkg:npm/net-codec-testmetest"},"versions":["1.0.1"],"database_specific":{"cwes":[{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"}],"indicators":{"evidence_files":[{"path":"binding.gyp","sha256":"fda4df745212660faa56de9d1f20739402b418aab082401c38a4d3c1304123d3","tlsh":"e9c08c2cb838094539d91c3491a88402a4b242a3485a2d41fade60286fb841f288cb9d"},{"tlsh":"b96264626b891fa561c80cf6b39d6503a5a0e84f39b07b68ffd25597bd3d522bc20370","path":"index.js","sha256":"b486d38715fdd26a182a04136e4d632cd53261b4a939445cea4273ade2a60444"}],"package_integrity":[{"hashes":{"sha512_sri":"sha512-jyQhiT5Sdqpjfze+sJsvU6yxESYvFD34AzcGmQixMysYEV6DQc9A5AyAH7uxC83ZeXA3B7m2/cs2YtAcmde2/g==","sha1":"189851c3dda4bad3678c4e21eab85f83d44118b0"},"filename":"net-codec-testmetest-1.0.1.tgz"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/net-codec-testmetest/MAL-2026-18186.json"}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}