{"id":"MAL-2026-17779","summary":"Malicious code in airdrop-eligibility-check (RubyGems)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (eb3461788cd7b809ba613c07b39b583fb968ce927ccfc15433673e2731ca68d8)\nThe gem's extconf.rb, executed during `gem install`, decodes a base64 Ruby payload and eval's it inside a detached double-forked (Process.setsid) child process after a randomized 20–40 minute sleep. The payload opens a TCPSocket to the hardcoded endpoint 45.138.12.177:8089, spawns /bin/sh via IO.popen, and bridges stdio in both directions, providing an interactive reverse shell on the installer's host. Detonation is gated by anti-analysis checks that skip execution in CI, on ephemeral hostnames, under generated usernames, inside analysis paths, and when /proc/uptime is under 1800 seconds; it only arms when developer-credential files are present (~/.ssh, ~/.gitconfig, ~/.gem/credentials, ~/.bundle, ~/.npmrc). The gem has no real functionality: the gemspec name (airdrop-eligibility-check) does not match the README (bitcoin-rpc-lite) or the created makefile (bitcoin_rpc_lite_native), and the lib entry is a trivial stub returning 'ok'. The native-extension build is used solely as a vehicle for the dropper.\n","modified":"2026-10-11T14:30:07.615744983Z","published":"2026-10-11T13:47:03Z","database_specific":{"malicious-packages-origins":[{"source":"amazon-inspector","versions":["0.9.1"],"id":"IN-MAL-2026-021357","import_time":"2026-10-11T14:17:58.915504624Z","modified_time":"2026-10-11T13:47:03Z","sha256":"eb3461788cd7b809ba613c07b39b583fb968ce927ccfc15433673e2731ca68d8"}]},"references":[{"type":"PACKAGE","url":"https://rubygems.org/gems/airdrop-eligibility-check/versions/0.9.1"}],"affected":[{"package":{"name":"airdrop-eligibility-check","ecosystem":"RubyGems","purl":"pkg:gem/airdrop-eligibility-check"},"versions":["0.9.1"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"ext/airdrop_eligibility_check/extconf.rb","sha256":"10218e975f54a4f11fe3954e1b584a5f05054003bf5773c3c2b8cceaa74ba763","tlsh":"9751775acf8359e55aa1c0c045798012faa3ab0a50646875f3ee0868ff59b26c0f12fe"},{"sha256":"e8621dad70ef6c5db1d2d1988a8f35973e9e50900ba3fd0c8217f21db9ca1197","tlsh":"b321bec0a5c6b476f115d2e7a8503303ab73e90cbf663d016ad78399438817b6747216","path":"metadata.yaml"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/rubygems/airdrop-eligibility-check/MAL-2026-17779.json"}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}