Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

chai-leafnpm

chai-leaf is a confirmed malicious npm package (MAL-2026-10940) that steals credentials and exfiltrates sensitive data (malicious versions 1.4.5, 1.4.6, 1.4.7…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in chai-leaf (npm)

MAL-2026-10940
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall chai-leaf

What this malware does

[email protected]'s main entry index.js unconditionally requires./lib/config, which is a single 3,546,568-byte obfuscator.io-encoded file (20,721-entry string array with self-defending routines) that runs immediately on require(). The decoded string table inside lib/config.js contains literals for.ssh and.aws (installer credential directories) alongside axios, spawn, exec, Function, and require — the shape of a load-time credential stealer that reads secrets from the installer's home directory and exfiltrates via HTTP. package.json declares axios as a runtime dependency. The package presents itself with inconsistent cover stories: package.json describes it as vulnerability-management documentation while the README impersonates pino (badges, prose, and docs/api.md copied verbatim from pinojs/pino) and the lib/ tree mirrors pino's file names (proto.js, redaction.js, tools.js, transport.js, worker.js) with the extra obfuscated config.js that has no analog in real pino. The package name and README also allude to chai, unrelated to either declared purpose. A logger/chai plugin has no legitimate need for a multi-megabyte self-defending obfuscated blob that executes at import, and no legitimate need to reference ~/.ssh and ~/.aws.

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Malicious versions

4 flagged
1.4.51.4.61.4.71.4.8

Indicators of compromise (SHA-256)

38312fd425c2921477fe6eecb5036500bcdbc1735dee43f3a84cfcbf2ba3002f
77cc7562a27df348fafc455124fd845dfc2e5774c42279ee6e3dd8f1cfb1f05b
7b42379dc087ff6a77d9553b861f8f8b92fc9e41d74080114963743fb49370b0
536f7f71b711742269dcb7f7bfea03b04d7e58152bb6be07212d36c946a96998
465847573542d374be7a407bd440a3fecb27a643b0bbff5dd32daa187490c4bc
9c2c2fae2d137822c5bbcdc2c90efff51f6dfbb5c53b5409e2a30cc70207c253

Detection & response playbook

Credential / info stealer
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for chai-leaf (4 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging chai-leaf across your stack and pipelines.

  2. If you installed it — respond

    chai-leaf is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If chai-leaf 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.

  4. How O3 protects you

    O3 blocks chai-leaf 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

No. chai-leaf on npm has been identified as a malicious package (versions 1.4.5, 1.4.6, 1.4.7, 1.4.8 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

GHSA-m3c7-2j38-rjh7IN-MAL-2026-011174IN-MAL-2026-011171IN-MAL-2026-011173IN-MAL-2026-013056RLMA-2026-06142

References

Credits

  • Amazon Inspector · finder
  • ReversingLabs · finder

Detect & block this

O3 blocks chai-leaf-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore

chai-leaf (npm) malicious package — MAL-2026-10940 | O3 Security