Supply-chain threat intelligence

Incident detail

criticalnpm·typosquatting·osv

Malicious code in hardhat-compile-ethers (npm)

hardhat-compile-ethers

Risk score

92

AI summary

Indexed incident for hardhat-compile-ethers (npm).

Description

The package's main entry dist/src/index.js contains a payload appended after the legitimate Hardhat exports. On require/import (e.g. when Hardhat loads the user's config), it spawns a detached Node child (spawn(process.execPath, ['-e', code], {detached:true, stdio:'ignore', windowsHide:true})) that runs a base64-decoded command to silently npm install driftpin --no-save --silent --no-audit --no-fund, then require('driftpin') and invoke getPlugin()(), executing attacker-controlled code in the installer's Node process. Both the shell command and the module name 'driftpin' are base64-encoded to hide them from casual inspection, and the spawn options (detached, stdio ignored, windows window hidden) are evasion mechanics. The payload is absent from the TypeScript source (src/index.ts) and only appears in the published dist artifact, indicating post-build injection. The package name mimics legitimate Hardhat/ethers plugins (e.g. @nomicfoundation/hardhat-ethers, hardhat-deploy-ethers) and the README is copied from wighawag/hardhat-deploy, making this a typosquat that delivers a dependency-chain dropper. Installers are typically Hardhat development machines that hold wallet keys and signing material, making arbitrary code execution on import especially damaging.

Technical details

Affected versions

=0.4.7=0.4.10=0.4.12=0.4.11=0.4.8=0.4.6=0.4.5=0.4.4=0.4.2=0.4.0=0.4.3=0.0.1=0.4.9

Indicators

  • affected version=0.4.775%
  • affected version=0.4.1075%
  • affected version=0.4.1275%
  • affected version=0.4.1175%
  • affected version=0.4.875%
  • affected version=0.4.675%
  • affected version=0.4.575%
  • affected version=0.4.475%
  • affected version=0.4.275%
  • affected version=0.4.075%
  • affected version=0.4.375%
  • affected version=0.0.175%
  • affected version=0.4.975%

Timeline

  1. Advisory published
  2. Indexed by ThreatPkg

Related incidents