Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

hardhat-basenpm

hardhat-base is a confirmed malicious npm package (MAL-2026-16348) that executes malicious code on install (malicious versions 2.2.0, 2.2.2). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in hardhat-base (npm)

MAL-2026-16348
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall hardhat-base

What this malware does

Package presents itself as a pino-compatible logger (module.exports.pino = middleware; keywords fast/logger/stream/json) but ships an RCE loader. index.js spawns lib/caller.js as a detached child process on middleware invocation. caller.js reads a base64-encoded URL from a fake process.env-shaped constant (DEV_API_KEY), decodes it via atob to https://ipcheck-hashed.vercel.app/api/auth/f1f097d93c318c92f0c5, POSTs to that endpoint via axios, and passes the response body to new Function.constructor("require", s) — invoking the returned handler with the real require function. Any consumer that requires this package and calls the exported middleware fetches and executes arbitrary attacker-controlled JavaScript with full Node.js require access. The base64 concealment of the endpoint inside fake env-var constants, the detached child spawn, the cover-story pino API surface, and the mismatch with the manifest description (vulnerability-management text) confirm intentional supply-chain attack rather than an insecure update mechanism.

Malicious versions

2 flagged
2.2.02.2.2

Indicators of compromise (SHA-256)

a65f09d6bfd4d7c28183a13e64a9eb5e989fa7b24fbf92c049a044accefe4950
bcf412ff9e25a300b1f5efafc3c0a2b3c2eaf3abdbe3bba09d9c7b7b21149b26

Detection & response playbook

Malicious package
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for hardhat-base (2 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging hardhat-base across your stack and pipelines.

  2. If you installed it — respond

    Remove hardhat-base from your project and lockfile, then assume any secrets accessible to the build or runtime were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound activity or persistence.

  3. Did it already run?

    If hardhat-base was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks hardhat-base before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

Frequently asked questions

No. hardhat-base on npm has been identified as a malicious package (versions 2.2.0, 2.2.2 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-020258IN-MAL-2026-020259

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks hardhat-base-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.

Explore

hardhat-base (npm) malicious package — MAL-2026-16348 | O3 Security