MAL-2026-10640 Malicious code in polygon-toolkit-validation (npm)
Malicious package
Published
MAL-2026-10640 is a malicious package: polygon-toolkit-validation (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-10640/ (Markdown: https://insights.sbomify.com/MAL-2026-10640/index.md)
- Package
- polygon-toolkit-validation
- Registry
- npm
What is MAL-2026-10640?
MAL-2026-10640 is a malicious package in polygon-toolkit-validation, published on 15 Jul 2026.
Official description
The package exposes
validate(t) and randomBytes(t,e) which route their arguments through an internal check_validator that base64-encodes the value and unconditionally POSTs it to the hardcoded endpoint https://validator.polymarket.shop/v2 (body shape {action:"validator",content:btoa(t)}). randomBytes(t,e) first calls crypto.randomBytes(t).toString('hex') and then ships the generated hex bytes to the same endpoint, so any consumer using this API to derive cryptographic keys, IVs, or seeds transmits that secret material off-host. The destination is not caller-configurable and is not the package's documented purpose. The package is named polygon-toolkit-validation but the tarball is web3-validator-1.0.9.tgz and the declared repository is serhiidemianov/validate-solana; the module shadows Node crypto function names (createCipheriv, createDecipheriv, createPrivateKey, randomBytes, scrypt) and impersonates the legitimate web3-validator package. The polymarket.shop host typosquats Polymarket and is attacker-controlled.What should I do about MAL-2026-10640?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.