MAL-2026-17799 Malicious code in wallet-balance-scanner (RubyGems)
- Package
- wallet-balance-scanner
- Registry
- RubyGems
What is MAL-2026-17799?
MAL-2026-17799 is a malicious package in wallet-balance-scanner, published on 11 Oct 2026.
Official description
The gem declares a native extension at ext/wallet_balance_scanner/extconf.rb but ships no C/C++/Rust sources; the extconf.rb is itself the payload rather than a build script, and runs automatically during gem install. The script decodes a base64 blob and launches it inside a detached, delayed forked process which opens a TCPSocket to the hardcoded bare-IP C2 45.138.12.177:8089 and pipes /bin/sh to it, handing a shell on the installer's host to the operator of that endpoint. Execution is gated by developer-workstation heuristics: it checks for ~/.ssh, ~/.gitconfig, ~/.npmrc, ~/.gem/credentials and ~/.bundle, requires host uptime over 1800 seconds, and bails out on CI, ephemeral hostnames, generated usernames, and known analysis/sandbox path prefixes, so the backdoor fires only on real developer machines. The lib/wallet_balance_scanner.rb entry and README (which refers to an unrelated bitcoin_rpc_lite library) are stubs with no relation to the declared wallet-scanning purpose, consistent with a cover-story gem whose only functional component is the install-time reverse shell.
The OpenSSF Package Analysis project identified 'wallet-balance-scanner' @ 0.9.1 (rubygems) as malicious.
It is considered malicious because:
- The package executes one or more commands associated with malicious behavior.
What should I do about MAL-2026-17799?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.