-= Per source details. Do not edit below this line.=-
The 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.
{
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-021357",
"import_time": "2026-10-11T14:17:58.915504624Z",
"modified_time": "2026-10-11T13:47:03Z",
"sha256": "eb3461788cd7b809ba613c07b39b583fb968ce927ccfc15433673e2731ca68d8",
"source": "amazon-inspector",
"versions": [
"0.9.1"
]
}
]
}[
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
}
]
{
"evidence_files": [
{
"path": "ext/airdrop_eligibility_check/extconf.rb",
"sha256": "10218e975f54a4f11fe3954e1b584a5f05054003bf5773c3c2b8cceaa74ba763",
"tlsh": "9751775acf8359e55aa1c0c045798012faa3ab0a50646875f3ee0868ff59b26c0f12fe"
},
{
"path": "metadata.yaml",
"sha256": "e8621dad70ef6c5db1d2d1988a8f35973e9e50900ba3fd0c8217f21db9ca1197",
"tlsh": "b321bec0a5c6b476f115d2e7a8503303ab73e90cbf663d016ad78399438817b6747216"
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/rubygems/airdrop-eligibility-check/MAL-2026-17779.json"