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

chai-as-forgetednpm

Malicious code in chai-as-forgeted (npm) Remove it immediately and rotate any exposed credentials.

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

What this malware does

Package name impersonates the popular chai-as-promised assertion library, but its package.json description and keywords are copied from pino and the code is unrelated to chai. The package's main entry exports a middleware factory that spawns lib/caller.js as a detached node child process. lib/caller.js base64-decodes a hardcoded URL pointing at api.jsonstorage.net (a mutable third-party JSON storage service), GETs the JSON document, extracts the cookie field, and executes its contents via new Function.constructor('require', s)(require) with full access to require. The C2 URL and request headers are stored as base64 strings inside a locally redefined process object that shadows the real process global, then decoded with atob at runtime. Any consumer who installs and invokes the exported middleware triggers arbitrary attacker-controlled code execution; the attacker can rotate the payload served by the JSON storage endpoint at will.

Malicious versions

1 flagged
9.24.6

Indicators of compromise (SHA-256)

b6b32b714919c755532ed3d2695d1966568c24878e9721a5d756896d81881020

Frequently asked questions

No. chai-as-forgeted on npm has been identified as a malicious package (version 9.24.6 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-007065

References

Credits

  • Amazon Inspector · finder

Scan your dependencies

O3 Security blocks malicious packages like this at install time and in CI.

Supply-chain protection
chai-as-forgeted (npm) malicious package — MAL-2026-6219 | O3 Security