chai-as-tokenizednpm
Malicious code in chai-as-tokenized (npm) Remove it immediately and rotate any exposed credentials.
What this malware does
Package name impersonates chai-as-promised, and the README is a copy of pino's documentation, but the actual code is a remote-code-execution dropper. The exported middleware (advertised as chai.use(chaiAsTokenized)) spawns lib/initializeCaller.js as a detached node child with stdio:'ignore' and child.unref(), hiding output and surviving parent exit. The child shadows the process global with a fake object whose env values are base64 strings, atob-decodes them to obtain https://amethyst-lorrin-26.tiiny.site/index.json and the header x-secret-key: _, fetches JSON from that anonymous tiiny.site endpoint, and passes the response's cookie field to new Function.constructor('require', response) invoked with the live require — granting the remote, attacker-controlled host arbitrary code execution inside the consuming process with full module access. Combined signals: name-impersonation of a popular chai plugin, README mismatch with shipped code, base64-obfuscated C2 URL, anonymous static-file host (not a publisher domain), detached-and-silenced child spawn, and remote response evaluated as JavaScript.
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