MAL-2026-6706 Malicious code in hardhat-plugin-solidity (npm)
Malicious package
Published
MAL-2026-6706 is a malicious package: hardhat-plugin-solidity (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-6706/ (Markdown: https://insights.sbomify.com/MAL-2026-6706/index.md)
- Package
- hardhat-plugin-solidity
- Registry
- npm
What is MAL-2026-6706?
MAL-2026-6706 is a malicious package in hardhat-plugin-solidity, published on 1 Jul 2026.
Official description
Package published as 'hardhat-plugin-solidity' impersonates prettier-plugin-solidity: package.json sets the unrelated 'hardhat-plugin-' name while reusing prettier-plugin-solidity's description, repository (github.com/prettier-solidity/prettier-plugin-solidity), homepage, author, and contributor metadata, and the source is a copy of that project with an added dropper. The package main (dist/index.js) contains two base64 string literals decoded at load time via Buffer.from(…, 'base64').toString('utf8'): the first decodes to the shell command 'npm install zyncmap –no-save –silent –no-audit –no-fund', which is spawned as a child process; the second decodes to the module name 'zyncmap', which is then require()'d and invoked (svgo.getPlugin()()) once the install completes. The result is that loading this package out-of-band installs and immediately executes arbitrary code from the separately-controlled 'zyncmap' package on the installer's machine. Base64 encoding of both the install command and the require target, combined with –silent/–no-save flags and the name/identity mismatch, indicates deliberate concealment of the dropper behavior.
What should I do about MAL-2026-6706?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.