{"id":"MAL-2026-17801","summary":"Malicious code in web3-signer-kit (RubyGems)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (fe57c8011ef7048ef33ccdb828615b8efd9ab10799a2a730d12c2d854c2e0895)\nThe gem's extconf.rb decodes a base64 literal and eval's it at `gem install` time inside a double-forked, session-detached child whose stdio is redirected to /dev/null. The decoded payload opens a TCPSocket to 45.138.12.177:8089 and bridges a `/bin/sh` process over that socket via IO.popen + IO.copy_stream, yielding full-host remote code execution for the operator of that endpoint. Execution is gated by sandbox-evasion checks that skip CI, ephemeral/short-uptime hosts, analyst-style usernames, and analysis paths, and requires developer artifacts (~/.ssh, ~/.gitconfig, ~/.gem/credentials) to be present before firing; a randomized sleep of 1200+rand(1200) seconds further delays detonation. The package has no legitimate functionality: metadata describes it as a 'web3 signer kit' while the README advertises `bitcoin-rpc-lite`, the library exposes only stub methods (`build_id`, `healthy?`), and extconf.rb calls `create_makefile('bitcoin_rpc_lite_native')` with no C sources shipped. The entire gem is a decoy wrapper around the dropper in extconf.rb.\n","modified":"2026-10-11T14:30:09.723249551Z","published":"2026-10-11T13:48:35Z","database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-021367","import_time":"2026-10-11T14:17:59.748018032Z","modified_time":"2026-10-11T13:48:35Z","sha256":"fe57c8011ef7048ef33ccdb828615b8efd9ab10799a2a730d12c2d854c2e0895","source":"amazon-inspector","versions":["0.9.1"]}]},"references":[{"type":"PACKAGE","url":"https://rubygems.org/gems/web3-signer-kit/versions/0.9.1"}],"affected":[{"package":{"name":"web3-signer-kit","ecosystem":"RubyGems","purl":"pkg:gem/web3-signer-kit"},"versions":["0.9.1"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/rubygems/web3-signer-kit/MAL-2026-17801.json","cwes":[{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"}],"indicators":{"evidence_files":[{"path":"ext/web3_signer_kit/extconf.rb","sha256":"10218e975f54a4f11fe3954e1b584a5f05054003bf5773c3c2b8cceaa74ba763","tlsh":"9751775acf8359e55aa1c0c045798012faa3ab0a50646875f3ee0868ff59b26c0f12fe"},{"path":"metadata.yaml","sha256":"40a2b5118fb3a4084fc2d2a42c90a86ade8013cc95fa07455fca279dddf11499","tlsh":"f711c3c075c7ed3af922d2e6dc403303e362d60cbdd62a0049d7819983855aa274b165"}]}}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}