MAL-2026-10749 Malicious code in sync-grove (npm)
Malicious package
Published
MAL-2026-10749 is a malicious package: sync-grove (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-10749/ (Markdown: https://insights.sbomify.com/MAL-2026-10749/index.md)
- Package
- sync-grove
- Registry
- npm
What is MAL-2026-10749?
MAL-2026-10749 is a malicious package in sync-grove, published on 16 Jul 2026.
Official description
Package.json declares
"postinstall": "node setup.js", so setup.js runs automatically on npm install. The script assembles the strings shelljs and exec from base64 fragments at runtime, then fetches two plain-HTTP URLs on player.sweeprovider.org (/getKey.php and /generateRandomKey.php) whose values are stored as concatenated base64 fragments (securityKey1), decrypts the response with a hardcoded AES salt, and passes the resulting string to shelljs.exec on the installer's host. The package presents itself as a typosquat of sync-exec ("Synchronous exec with status code support"), and js/syncgrove.js mirrors the sync-exec implementation as a decoy. The combination of hardcoded remote HTTP endpoints, runtime-assembled module/method names, encrypted payload staging, and shell execution at install time is a supply-chain dropper: whatever command the attacker serves runs with the installer's privileges on npm install.What should I do about MAL-2026-10749?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.