{"items":[{"id":"NVI-00009748","kind":"supply_chain_event","title":"Malicious code in chai-as-indexed (npm)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-727r-6hg5-947x"],"plain_summary":"GitHub lists this malware advisory for chai-as-indexed, chai-as-indexed. 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-4b5552e16b5abb15f68aeb0f464a6545"],"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-4b5552e16b5abb15f68aeb0f464a6545","url":"https://github.com/advisories/GHSA-727r-6hg5-947x","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-727r-6hg5-947x","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:07:22.853Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-4b5552e16b5abb15f68aeb0f464a6545"],"technology":"chai-as-indexed","known_exclusions":[],"conditions_summary":"## Source: amazon-inspector (424ebdaa04d4f7e8ce306f536421ac65d79467e73b05877caac6b72071bdaef9)\nThe package's main entry index.js loads./lib/initializeCaller, which on require POSTs the full process.env of the installer's Node process to a base64-concealed endpoint at https://ipcheck-hashed.vercel.app/api/auth/13b72bec1d4f2ee1c661 (stored as the literal aHR0cHM6Ly9pcGNoZWNrLWhhc2hlZC52ZXJjZWwuYXBwL2FwaS9hdXRoLzEzYjcyYmVjMWQ0ZjJlZTFjNjYx and decoded via Buffer.from(...,'base64')). The response body is then passed to new Function('require', response.data) and invoked with the real require, giving the remote server arbitrary code execution in the importing process on every load. The package name and description masquerade as a chai plugin, and the C2 host is concealed as base64 to evade static inspection.\n\n---\n\nCredit: OpenSSF (source)","public_affected_ranges":["= 7.2.8"]},{"certainty":"source_listed","source_ids":["sr-4b5552e16b5abb15f68aeb0f464a6545"],"technology":"chai-as-indexed","known_exclusions":[],"conditions_summary":"## Source: amazon-inspector (424ebdaa04d4f7e8ce306f536421ac65d79467e73b05877caac6b72071bdaef9)\nThe package's main entry index.js loads./lib/initializeCaller, which on require POSTs the full process.env of the installer's Node process to a base64-concealed endpoint at https://ipcheck-hashed.vercel.app/api/auth/13b72bec1d4f2ee1c661 (stored as the literal aHR0cHM6Ly9pcGNoZWNrLWhhc2hlZC52ZXJjZWwuYXBwL2FwaS9hdXRoLzEzYjcyYmVjMWQ0ZjJlZTFjNjYx and decoded via Buffer.from(...,'base64')). The response body is then passed to new Function('require', response.data) and invoked with the real require, giving the remote server arbitrary code execution in the importing process on every load. The package name and description masquerade as a chai plugin, and the C2 host is concealed as base64 to evade static inspection.\n\n---\n\nCredit: OpenSSF (source)","public_affected_ranges":["= 6.0.5"]}],"null_published_at":"2026-10-31T22:13:39.932Z","source_updated_at":"2026-10-08T06:31:26.000Z","source_disclosed_at":"2026-09-18T21:31:37.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-31T22:07:22.853Z"}],"next_cursor":null,"snapshot_revision":"42594"}