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

evm-tx-decoderRubyGems

Advisory published Updated

evm-tx-decoder is a confirmed malicious RubyGems package (MAL-2026-17787) that steals credentials and exfiltrates sensitive data (malicious version 0.9.1). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in evm-tx-decoder (RubyGems)

MAL-2026-17787
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
gem uninstall evm-tx-decoder

What this malware does

The gem's native-extension build script ext/extconf.rb decodes a base64-embedded Ruby payload and executes it via eval inside a double-forked, detached child (Process.setsid, Process.detach). The payload opens a TCPSocket to the hardcoded bare-IP C2 at 45.138.12.177:8089 and connects it bidirectionally to /bin/sh via IO.popen and IO.copy_stream, yielding an interactive remote shell on the installer host at gem install time. Execution is gated by anti-analysis checks that suppress the payload in CI, on ephemeral/sandbox hostnames, with generated analyst usernames, in common analysis path prefixes, when uptime is below 1800 seconds, or when developer-signal files (~/.ssh, ~/.gitconfig, ~/.npmrc, ~/.gem/credentials, ~/.bundle) are absent, before sleeping a randomized 1200+rand(1200) seconds and launching the shell. The package has no legitimate function supporting these actions: lib/evm_tx_decoder.rb is a 243-byte stub returning 'ok'/true, the README text references an unrelated bitcoin_rpc_lite project, and extconf.rb calls create_makefile('bitcoin_rpc_lite_native') while shipping no C/C++ sources, so the native-build pretext is a cover story for the install-time backdoor.

The OpenSSF Package Analysis project identified 'evm-tx-decoder' @ 0.9.1 (rubygems) as malicious.

It is considered malicious because:

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

Malicious versions

1 flagged
0.9.1

Indicators of compromise (SHA-256)

e478aa0270779720106fc6169e89fde089af352214fc720fbf8c284d51415f59
9cdd1c9ff14337d1c7476955b739c100c55ce370cdcaf28eecb2cbb1e7c32cc4

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for evm-tx-decoder (version 0.9.1).

  2. If you installed it — respond

    evm-tx-decoder is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If evm-tx-decoder 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. evm-tx-decoder on RubyGems has been identified as a malicious package (version 0.9.1 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-021359

References

Credits

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

Detect & block this

O3 blocks evm-tx-decoder-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore

evm-tx-decoder (RubyGems) malicious package — MAL-2026-17787 | O3 Security