MAL-2026-10153 Malicious code in notifier-log (npm)
Malicious package
Published
MAL-2026-10153 is a malicious package: notifier-log (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-10153/ (Markdown: https://insights.sbomify.com/MAL-2026-10153/index.md)
- Package
- notifier-log
- Registry
- npm
What is MAL-2026-10153?
MAL-2026-10153 is a malicious package in notifier-log, published on 10 Jul 2026.
Official description
The package presents itself as a pino-compatible logger (main entry exports a middleware aliased as
pino, and lib/ contains pino-shaped files such as proto.js, redaction.js, multistream.js, transport.js), but its middleware spawns a detached child process running lib/caller.js which fetches a JSON blob from a hardcoded jsonkeeper.com paste, extracts a .cookie string, and passes it to new Function.constructor('require', s)(require). This executes attacker-controlled JavaScript with full require access under the installer's Node process. A base64-encoded backup endpoint and secret header key are stored in lib/const.js (decoding to a second jsonkeeper.com paste URL with an x-secret-key header), providing a redundant delivery channel. Because jsonkeeper.com is a mutable public paste site, the served payload can be changed at any moment. The logger API is a cover story for the dropper.What should I do about MAL-2026-10153?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.