{"items":[{"id":"NVI-00012297","kind":"supply_chain_event","title":"Malicious code in chai-logger (npm)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-fv5h-7hj3-xq5r"],"plain_summary":"GitHub lists this malware advisory for chai-logger. 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-1c0a825b142ba48d321511ca66cef912"],"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-1c0a825b142ba48d321511ca66cef912","url":"https://github.com/advisories/GHSA-fv5h-7hj3-xq5r","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-fv5h-7hj3-xq5r","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T00:59:31.866Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-1c0a825b142ba48d321511ca66cef912"],"technology":"chai-logger","known_exclusions":[],"conditions_summary":"## Source: amazon-inspector (566e54855d730e8555b93da4f8ea81faba72645079a7adcc3a05ea8bf8ad8ee6)\nThe package presents itself as a Chai logging plugin but its main entry `index.js` requires `./lib/query.js`, a ~4 MB obfuscator.io-encoded module (23,868-entry rotated string array, T/j decoder wrappers, hex-property indirection) that executes at the top level as soon as the package is required. The remaining files under `lib/` (proto.js, levels.js, tools.js, etc.) are verbatim copies of pino source, unrelated to the advertised Chai plugin API — a cover story around the obfuscated blob. `package.json` declares `axios ^1.10.0` as a runtime dependency, and the only reference to axios in the shipped code is inside the obfuscated body of `lib/query.js`, giving the payload an HTTP client whose destination is reconstructed at runtime from the rotated string array. Author metadata points to `jsonspack.com`, unrelated to Chai or pino. The combination of import-time execution of a heavily obfuscated payload, a mismatched cover story, copied third-party source used as filler, and an HTTP client declared only for use inside the obfuscated code is the canonical npm credential/data-stealer shape.\n\n--","public_affected_ranges":["= 3.0.2"]}],"null_published_at":"2026-11-01T01:45:40.754Z","source_updated_at":"2026-09-22T15:32:26.000Z","source_disclosed_at":"2026-09-22T15:32:26.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-11-01T00:59:31.866Z"}],"next_cursor":null,"snapshot_revision":"42594"}