Findings

MAL-2026-17780

Malicious code in block-explorer-api (RubyGems)

Published Oct 11, 2026 · updated Oct 13, 2026

--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (9cfaa3470065369addbb91e3a6c2072e8add334c4d27bff95f91315aa58ae313) The gem's native-extension build script (extconf.rb) decodes a base64-encoded Ruby payload and passes it to eval() inside a double-forked, detached child process with stdio redirected to /dev/null. The decoded payload opens a TCP connection to the hardcoded bare-IP C2 45.138.12.177:8089 and bridges it to /bin/sh via IO.popen and IO.copy_stream in both directions, yielding a full interactive reverse shell on the installer's host under the installing user. Execution is gated by anti-analysis checks that skip CI runners, ephemeral/sandbox hostnames (uvm, firecracker, sandbox, vagrant), generated analyst usernames (uA\d+, sandbox, tester, analys, scanner), common analysis working paths (/opt/rubygems, /tmp, /var/tmp, /workspace), and hosts with uptime under 1800 seconds, firing only when developer-signal files such as ~/.ssh, ~/.gem/credentials, ~/.gitconfig, or ~/.npmrc are present, and after a randomized 20-40 minute delay. The shipped library at lib/block_explorer_api.rb is an inert 10-line stub (VERSION, build_id, healthy?) and the gemspec name (block-explorer-api, authored by generic 'block maintainers') does not match the README, which describes the package as 'bitcoin-rpc-lite'; the install hook contains the entire functional payload while the advertised library does nothing. ## Source: ossf-package-analysis (a5b9d91f1bb472b9d7f227bda95ad5ab56761514d73c202baa3ffdfa4f497cc0) The OpenSSF Package Analysis project identified 'block-explorer-api' @ 0.9.1 (rubygems) as malicious. It is considered malicious because: - The package executes one or more commands associated with malicious behavior.

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 11, 2026 · OSV.dev

    Detected

    --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (9cfaa3470065369addbb91e3a6c2072e8add334c4d27bff95f91315aa58ae313) The gem's native-extension build script (extconf.rb) decodes a base64-encoded Ruby payload and passes it to eval() inside a double-forked, detached child process with stdio redirected to /dev/null. The decoded payload opens a TCP connection to t

  2. Oct 13, 2026 · OSV.dev

    Updated

    --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (9cfaa3470065369addbb91e3a6c2072e8add334c4d27bff95f91315aa58ae313) The gem's native-extension build script (extconf.rb) decodes a base64-encoded Ruby payload and passes it to eval() inside a double-forked, detached child process with stdio redirected to /dev/null. The decoded payload opens a TCP connection to t

Affected

  • RubyGems block-explorer-api0.9.1

Sources

  • OSV.devPackage advisoryMAL-2026-17780

    Malicious code in block-explorer-api (RubyGems)

    osv.dev

References