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

chai-plugin-kitnpm

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

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

What this malware does

Package republishes the chai source tree under the confusable name chai-plugin-kit. The package's main entry (index.js) spawns a detached, stdio-silenced node subprocess running lib/chai/utils/addAssertion.js on every require('chai-plugin-kit'). That file is heavily obfuscated with obfuscator.io transforms (rotated 31-entry string array _0x4a30, custom base64 decoder _0x495d, hex-named identifiers, control-flow flattening) hiding an https GET to an attacker-controlled URL whose response body is passed to new Function('require', body) and immediately invoked with the real require — granting attacker-controlled JavaScript full Node API access (filesystem, network, child_process, env). The detached + unref + stdio:'ignore' pattern is deliberate evasion to hide the child process from the consuming developer. A legitimate chai plugin has no reason to fetch and eval remote code.

Malicious versions

1 flagged
5.8.1

Indicators of compromise (SHA-256)

26567b08d635c9b26d6befaba3dfc61a957bcf295cb321d03025b39bc54890ad

Frequently asked questions

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

Campaign

IN-MAL-2026-006790

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-plugin-kit (npm) malicious package — MAL-2026-5906 | O3 Security