Logo
npm

hardhat-devkit@2.3.6

Vulnerability report · Last retrieved from osv.dev September 21, 2026 at 11:45 PM UTC

Malicious

OSV ID

MAL-2026-16349

Ecosystem

npm

Summary

Package published as hardhat-devkit presents itself as an Ethereum/Hardhat developer toolkit, but the shipped surface is a cover story: README, index.d.ts, and keywords (fast, logger, stream, json) are copied from pinojs/pino, the manifest description references vulnerability management, and the homepage points at jsonspack.com (author hello@jsonspack.com). The package's index.js unconditionally executes require('./lib/config') on load. lib/config.js is a single-line ~4,070,107-byte JavaScript file heavily obfuscated with obfuscator.io techniques: hex-escaped identifiers and property names (_0xNNNN, \x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74), a self-mutating string-array indexer with an embedded RC4+base64 string decoder (J[v]=J[W]; e+=String.fromCharCode(N.charCodeAt(a)^J[(J[v]+J[W])%256])), control-flow flattening via a while(!![]){try{...}catch{}} dispatcher, and a debugger-defense self-check. This concealed payload runs on any require('hardhat-devkit') or import of the package, targeting an audience (Ethereum developers) whose machines are likely to hold wallet keystores, mnemonics, and deployment keys. The combination of brand impersonation, mismatched cover-story metadata copied from an unrelated legitimate project, and a multi-megabyte obfuscated blob reachable at module load time is the supply-chain dropper shape.

Source: amazon-inspector (ddcb676af47bf26017d1fbc2cf63aae76d09e9248e860f6d0e86d57da92d2b95)

Protect your entire dependency tree

Scan your lock files automatically on every PR. Block malicious packages before they reach production.