CRITICAL npm Malware

Malicious code in rollup-packages-polyfill-core (npm)

MAL-2026-10160

Published · Modified

Description


__

Source: amazon-inspector (2dfdfbd2fc737f9d78ec40aac8b7020866cb0ef0e7e14b2d95aa174ea0ec5818)

On require of the main entry dist/index.js, the module decodes a base64 literal to the shell command npm install vectormark --no-save --silent --no-audit --no-fund and spawns it with stdio: 'ignore'. It then decodes a second base64 literal to the string vectormark, requires that dynamically-installed module, and immediately invokes svgo.getPlugin()(), executing arbitrary code from the second-stage package. The install target is unpinned and installed with --no-save, so the dropped code is not recorded in the consumer's lockfile. Both the shell command and the target module name are stored as base64 strings (Buffer.from(..., 'base64').toString('utf8')) to hide them from static review. The package name rollup-packages-polyfill-core typosquats the legitimate rollup-plugin-polyfill-node, whose repository it also declares.

Ready to move

Start Securing

Free, no credit card | First findings in minutes