gem · Malicious package advisory
Malwareweb3-signer-kit
MAL-2026-17801
Malicious code in web3-signer-kit (RubyGems)
Details
---
_-= Per source details. Do not edit below this line.=-_
## Source: amazon-inspector (fe57c8011ef7048ef33ccdb828615b8efd9ab10799a2a730d12c2d854c2e0895)
The gem's extconf.rb decodes a base64 literal and eval's it at `gem install` time inside a double-forked, session-detached child whose stdio is redirected to /dev/null. The decoded payload opens a TCPSocket to 45.138.12.177:8089 and bridges a `/bin/sh` process over that socket via IO.popen + IO.copy_stream, yielding full-host remote code execution for the operator of that endpoint. Execution is gated by sandbox-evasion checks that skip CI, ephemeral/short-uptime hosts, analyst-style usernames, and analysis paths, and requires developer artifacts (~/.ssh, ~/.gitconfig, ~/.gem/credentials) to be present before firing; a randomized sleep of 1200+rand(1200) seconds further delays detonation. The package has no legitimate functionality: metadata describes it as a 'web3 signer kit' while the README advertises `bitcoin-rpc-lite`, the library exposes only stub methods (`build_id`, `healthy?`), and extconf.rb calls `create_makefile('bitcoin_rpc_lite_native')` with no C sources shipped. The entire gem is a decoy wrapper around the dropper in extconf.rb.
Compromised versions (1)
- 0.9.1
Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.