chai-as-vitenpm
Malicious code in chai-as-vite (npm) Remove it immediately and rotate any exposed credentials.
What this malware does
The package masquerades as a pino-style logger (exports module.exports.pino = middleware, keywords fast,logger,stream,json, lib filenames proto.js, redaction.js, multistream.js, transport.js) under a name evoking chai/vite tooling. When a consumer requires the package and invokes the exported middleware, lib/initializeCaller.js is launched as a detached node child process. That script defines a local process shadow whose env holds base64 strings (DEV_API_KEY, DEV_SECRET_KEY, DEV_SECRET_VALUE), atob-decodes them to recover the URL https://purple-kelila-79.tiiny.site/data.json and the header x-secret-key: _, fetches the response via axios, then executes the response body with new Function.constructor('require', response)(require) — full arbitrary code execution with require access on the installer's machine, with retry. The destination is an anonymous, mutable tiiny.site host with no version pinning and no integrity check, so the operator can rotate the delivered payload at will. Base64-encoded URL and header values, the fake process.env shadow, and the detached child-process launch are intentional evasion.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Malicious packageFind it
Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for chai-as-vite (version 2.3.5). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging chai-as-vite across your stack and pipelines.
If you installed it — respond
Remove chai-as-vite from your project and lockfile, then assume any secrets accessible to the build or runtime were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound activity or persistence.
Did it already run?
If chai-as-vite was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.
How O3 protects you
O3 blocks chai-as-vite before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks chai-as-vite-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.