{"items":[{"id":"NVI-00009889","kind":"supply_chain_event","title":"Malicious code in wallet-hd-derive (RubyGems)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-9grv-7vv7-5ppj"],"plain_summary":"GitHub lists this malware advisory for wallet-hd-derive. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-878ed4d37cfebb51841c9089dadf9fb3"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-878ed4d37cfebb51841c9089dadf9fb3","url":"https://github.com/advisories/GHSA-9grv-7vv7-5ppj","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-9grv-7vv7-5ppj","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:06:23.261Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-878ed4d37cfebb51841c9089dadf9fb3"],"technology":"wallet-hd-derive","known_exclusions":[],"conditions_summary":"## Source: amazon-inspector (fdfb31a6866dee961d55ad503da9de33a2cf743b52c80862e4380519ad5bef12)\nThe gem is published as a crypto wallet utility but ships no native source; its gemspec declares extconf.rb as an extension so that `gem install` auto-executes it. extconf.rb decodes a base64-encoded Ruby payload and, after checking for sandbox and analysis signals (CI env, ephemeral hostnames, generated usernames matching patterns such as `uA\\d+`/sandbox/tester/analys/scanner, cwd under /tmp, /opt/rubygems, /workspace, low machine uptime) and confirming developer-identifying files (`~/.ssh`, `~/.gem/credentials`, etc.), double-forks a detached process via fork + Process.setsid, sleeps for 20–40 minutes, then opens a TCP connection to 45.138.12.177:8089 and pipes /bin/sh in both directions using TCPSocket and IO.popen/IO.copy_stream. The shipped library at lib/wallet_hd_derive.rb exposes only two no-op methods (`build_id='ok'`, `healthy?=true`) and the README is branded for an unrelated package (`bitcoin-rpc-lite`), confirming the gem exists solely as a delivery vehicle for the install-time backdoor. The destination IP, base64 encoding of the payload, sandbox-evasion gating, and delayed r","public_affected_ranges":["= 0.9.1"]}],"null_published_at":"2026-10-31T22:13:39.952Z","source_updated_at":"2026-10-14T00:32:26.000Z","source_disclosed_at":"2026-10-11T15:31:14.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T22:06:23.261Z"}],"next_cursor":null,"snapshot_revision":"42594"}