MAL-2026-17506 Malicious code in hardhat-ftp (npm)

Malicious package Published
Package
hardhat-ftp
Registry
npm

What is MAL-2026-17506?

MAL-2026-17506 is a malicious package in hardhat-ftp, published on 4 Oct 2026.

Official description

The package's declared main entry index.js unconditionally requires./lib/config, a 4,499,968-byte obfuscator.io-packed file (26,234-entry string array, hex-renamed identifiers, control-flow flattening, top-level IIFE) that executes as soon as any consumer runs require('hardhat-ftp'). After string-array decoding the loader resolves to execSync and spawn sinks, and the package declares axios as a dependency, giving the import-time payload both outbound HTTP and local command-execution primitives with the concrete command targets concealed behind the obfuscation. The surrounding package is a cover: it is published under the name hardhat-ftp with a vulnerability-management description, but the README headers, badges, and ecosystem links are lifted from pinojs/pino, and the files under lib/ (proto.js, levels.js, transport.js, multistream.js) mirror the pino source tree. The name/README/code mismatch, the scale of the obfuscation, and the presence of exec+HTTP primitives inside the auto-loaded module match the masquerade-dropper pattern: installing or requiring this package triggers execution of concealed attacker-controlled code on the installer's host.

What should I do about MAL-2026-17506?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Is MAL-2026-17506 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free