MAL-2026-13405 Malicious code in vitest-preview-pro-all (npm)
Malicious package
Published
MAL-2026-13405 is a malicious package: vitest-preview-pro-all (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-13405/ (Markdown: https://insights.sbomify.com/MAL-2026-13405/index.md)
- Package
- vitest-preview-pro-all
- Registry
- npm
What is MAL-2026-13405?
MAL-2026-13405 is a malicious package in vitest-preview-pro-all, published on 6 Aug 2026.
Official description
package.json postinstall runs lib/utils/index.js, which spawns a detached Node child executing lib/utils/smtp-connection/index.js. That file is heavily obfuscated with obfuscator.io-style hex-identifier string arrays hiding an axios GET to https://api.jsonbin.io/v3/b/6a719632da38895dfeb7128d and a
new Function('require', data.record.message)(require) sink — arbitrary remote code execution on the installer's machine at npm install time, with require passed in for full Node capability. The package name is vitest-preview-pro-all but the shipped main is a copy of the nodemailer library (author 'Andris Reinman'), an impersonation cover for the dropper. The jsonbin.io host is mutable, third-party, and attacker-controlled; the fetched payload is not pinned, hashed, or signed.What should I do about MAL-2026-13405?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.