logo

Database

Use of software with malware In bitcion-ruby

Description

The gem 'bitcion-ruby' is a one-edit typosquat of 'bitcoin-ruby'. The library has no real functionality (lib/ exposes only a hardcoded 48-word list; ext/bitcion-ruby/bitcion-ruby.c is an empty Init stub). The native extension's ext/bitcion-ruby/extconf.rb runs at gem install time and, before invoking create_makefile, base64-decodes and evals a Ruby payload. The payload performs sandbox/CI/analysis-environment fingerprinting (checks for ~/.ssh, ~/.gitconfig, ~/.gem/credentials, ~/.bundle, ~/.npmrc, requires uptime > 30 minutes, excludes CI environment variables and hostnames matching patterns like 'uvm', 'firecracker', 'sandbox', rejects generated-looking usernames and /tmp or /workspace working directories). On a real developer machine, it forks a detached child that sleeps 20-40 minutes, then curls a tarball to /tmp/.w1.tgz from a URL reconstructed by XOR-decoding a hardcoded hex string with the 4-byte key 'usv\x9a' (overridable via the WG_KIT_URL env var), extracts it, and executes wg_install.sh via bash. The combination of typosquat identity, empty cover functionality, two-layer obfuscation (base64 eval + XOR-encoded URL), environment fingerprinting to evade analysis sandboxes, randomized long sleep, detached forked execution, and fetch-and-exec of a remote shell script constitutes a full install-time remote code execution against developer machines that install the gem.

The OpenSSF Package Analysis project identified 'bitcion-ruby' @ 1.0.0 (rubygems) as malicious.

It is considered malicious because:

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

Mitigation

Update Impact

Minimal update. May introduce new vulnerabilities or breaking changes.

Ecosystem
Component
Affected version