supply chain event / NVI-00009748 / Revision 1
Malicious code in chai-as-indexed (npm)
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.
This report has not inspected your inventory, configuration, deployed build, reachability or evidence. A catalog listing and a severity score do not establish exposure or compromise.
01 / Meaning
Why it matters
Published affected context helps an owner decide what evidence to gather. This report has not examined your application.
02 / Applicability
The affected context
Affected versions, configuration prerequisites and known exclusions are public. Confirm each one against the deployed service.
chai-as-indexed
source listed= 7.2.8
## Source: amazon-inspector (424ebdaa04d4f7e8ce306f536421ac65d79467e73b05877caac6b72071bdaef9) The 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. --- Credit: OpenSSF (source)
chai-as-indexed
source listed= 6.0.5
## Source: amazon-inspector (424ebdaa04d4f7e8ce306f536421ac65d79467e73b05877caac6b72071bdaef9) The 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. --- Credit: OpenSSF (source)
03 / Response
What to do next
- investigate
Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.
Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system. GitHub Advisory Database
A fixed release is not deployment evidence.
Check current vendor support and compatibility. After making a change, verify the deployed build and relevant runtime conditions. Keep the evidence, owner and time. An updated lockfile alone does not prove what is running.
04 / Limits
What this report cannot establish
- Customer inventory, deployment, reachability and exploitation have not been inspected.
05 / Provenance
Sources you can inspect
Each assertion retains its source. Mirrored records may repeat one underlying publisher; additional links are not independent corroboration.
- GHSA-727r-6hg5-947x ↗
GitHub Advisory Database · vendor advisory
Observed . GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.
Public revision history
Only published revisions appear here. Routine fetches do not create a material-change event.
- Revision 1 ·
First indexed by Null; source disclosure date is shown separately.