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

chalk-plus-jsnpm

chalk-plus-js is a confirmed malicious npm package (MAL-2026-5709) that opens a backdoor for remote access (malicious version 7.0.4). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in chalk-plus-js (npm)

MAL-2026-5709
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall chalk-plus-js

What this malware does

Package is published under a name riding the popular chalk color-output library but its source tree, README, main entry (lib/nodemailer.js), and lib paths (smtp-connection, mailer, ses-transport, smtp-pool, dkim, mime-funcs) are a verbatim clone of nodemailer. The package.json description is an unrelated React Training copyright string and the homepage points at a lookalike domain (chalk-plus-js.com). On install, the postinstall hook node lib/utils/index.js spawns lib/utils/smtp-connection/index.js as a detached child with stdio fully silenced (spawn(process.execPath, [filePath], { detached: true, stdio: ['ignore','ignore','ignore'] }); child.unref()), so the dropper survives npm install exit with no console output. The target file is heavily obfuscated using a custom-alphabet string array and per-block decoders inside try/catch wrappers; decoded values are fed to require(...), spawn(...), and the argument pattern ['-e', <decoded>] with shell: true — i.e. it executes attacker-controlled code through a shell at install time. The payload requires axios, fs, path, child_process, and the package's runtime dependency footprint (axios, socket.io-client, sqlite3, request) is consistent with HTTP/websocket C2 plus local persistence — none of which a nodemailer clone needs. Any developer who mistypes or trusts the name chalk-plus-js executes attacker code with their own privileges on npm install.

Malicious versions

1 flagged
7.0.4

Indicators of compromise (SHA-256)

f4dd85fdba129ac0e507f8ba04076974f722c3494d8abd938c89c6063e1364fc
f5351482f03a50cab8a28b6aa7c992c960a55c6889634d2a04bb86a157ac18d1

Detection & response playbook

Backdoor / remote access
  1. Find it

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

  2. If you installed it — respond

    chalk-plus-js establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.

  3. Did it already run?

    If chalk-plus-js 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 chalk-plus-js 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. chalk-plus-js on npm has been identified as a malicious package (version 7.0.4 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-006234IN-MAL-2026-006233

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks chalk-plus-js-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.

Explore

chalk-plus-js (npm) malicious package — MAL-2026-5709 | O3 Security