chai-as-upheldednpm
Malicious code in chai-as-uphelded (npm) Remove it immediately and rotate any exposed credentials.
What this malware does
Package name impersonates the popular chai-as-promised library, but its package.json description and keywords masquerade as a pino-style logger and an unrelated vulnerability-management document — a deliberate metadata cover. The default export is an Express-style middleware that, when invoked, spawns a detached node./lib/caller.js. caller.js base64-decodes a URL to https://api.jsonstorage.net/v1/json/2ef8c758-a96f-459e-b036-b3b90379a165/a179ea35-b962-4722-b3f1-e28316d1a44a, GETs JSON, and passes the response's cookie field directly to new Function.constructor('require', s)(require) — evaluating attacker-controlled JavaScript with full access to Node's require. The endpoint is mutable third-party storage, the URL is obscured via base64, and the executed payload is opaque. Any consumer that uses the package's documented middleware (or runs the package's own smoke script) reaches the eval sink.
Malicious versions
Indicators of compromise (SHA-256)
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Scan your dependencies
O3 Security blocks malicious packages like this at install time and in CI.
Supply-chain protection