Malicious code in evm-tx-decoder (RubyGems)
MAL-2026-17787
Published · Modified
Dependency scanning
Check whether evm-tx-decoder is in your codebase
Corgea flags malicious and compromised dependencies with reachability analysis, so you fix the packages that actually run in your application instead of working through the whole lockfile.
Description
__
Source: amazon-inspector (e478aa0270779720106fc6169e89fde089af352214fc720fbf8c284d51415f59)
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.
Source: ossf-package-analysis (9cdd1c9ff14337d1c7476955b739c100c55ce370cdcaf28eecb2cbb1e7c32cc4)
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.
References
Ready to move
Start Securing
Free, no credit card | First findings in minutes