{"items":[{"id":"NVI-00008348","kind":"supply_chain_event","title":"Malicious code in net-codec-testmetest (npm)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-g4jf-x8gh-87jw"],"plain_summary":"GitHub lists this malware advisory for net-codec-testmetest. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-04f6e88e67f672bba02d087d3087043c"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-04f6e88e67f672bba02d087d3087043c","url":"https://github.com/advisories/GHSA-g4jf-x8gh-87jw","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-g4jf-x8gh-87jw","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T21:57:08.488Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-04f6e88e67f672bba02d087d3087043c"],"technology":"net-codec-testmetest","known_exclusions":[],"conditions_summary":"## 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 (`<!(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\n---\n\nCredit: OpenSSF ([source](https://github.com/ossf/malicious-packages/blob/f17c406fb7ee5243da902499814340765fd9b86a/osv/malicious/npm/net-codec-testmetest/MAL-2026-18186","public_affected_ranges":["= 1.0.1"]}],"null_published_at":"2026-10-31T22:13:22.840Z","source_updated_at":"2026-10-22T09:31:55.000Z","source_disclosed_at":"2026-10-22T09:31:46.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T21:57:08.488Z"}],"next_cursor":null,"snapshot_revision":"42594"}