CRITICAL npm Malware

Malicious code in vite-tsconfig-svg (npm)

MAL-2026-11497 · GHSA-3w4v-4hp3-9934

Published · Modified

Dependency scanning

Check whether vite-tsconfig-svg is in your codebase

Corgea flags malicious and compromised dependencies with reachability analysis, so you fix the packages that actually run in your application instead of working through the whole lockfile.

Description


__

Source: amazon-inspector (a42a11a98297070648c64645be52ca20e8c0f7c0d6fb00a51e921a368c71c4e1)

index.js contains two base64 constants that decode to the shell command npm install rollup-plugin-polyfill-helper --no-save --silent --no-audit --no-fund and the package name rollup-plugin-polyfill-helper. When a consumer calls the exported getPlugin/setPlugin (reachable indirectly through validateSvgContent), the module spawns the decoded install command via child_process with stdio:'ignore' and windowsHide:true, then require()s the decoded package name and invokes its getPlugin()/setPlugin() methods. The fetched package is undeclared in dependencies, unpinned, and pulled from the mutable npm registry, so arbitrary attacker-controlled code from rollup-plugin-polyfill-helper executes in the consumer's Node process. The package name and description advertise a vite/tsconfig SVG utility, but no vite/tsconfig code is shipped — the module only scans a caller-supplied directory for .svg files as a cover for the install-and-execute path.

Source: ghsa-malware (47ed169858113da45745f7c69d04ad81103987d8b1213b2c98024d878bbea0c3)

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Ready to move

Start Securing

Free, no credit card | First findings in minutes