{"id":"MAL-2026-17797","summary":"Malicious code in ton-jetton-tools (RubyGems)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (30e70156c49000f2a02130da13465705bea1e9663b3ba57246a4e264bb12db25)\nThe gem's native-extension build script (extconf.rb) contains a base64-encoded Ruby payload that is decoded and executed via eval during `gem install`. The decoded payload forks a detached, delayed child process that opens a TCP connection to 45.138.12.177:8089 and bridges the socket to /bin/sh, giving the operator of that endpoint an interactive shell on the installer's host. Execution is gated by anti-analysis checks that skip the payload when the environment looks like CI or a sandbox (CI env vars set, hostname matches sandbox/firecracker/vagrant patterns, auto-generated usernames, CWD under /tmp, /var/tmp, /opt/rubygems, or /workspace, machine uptime under 1800 seconds) and only fires when developer artefacts (~/.ssh, ~/.gitconfig, ~/.npmrc, ~/.gem/credentials, ~/.bundle) are present. The surrounding extconf.rb only calls create_makefile for a stub native module ('bitcoin_rpc_lite_native'), and the gem's declared name ('ton-jetton-tools') is inconsistent with its README ('bitcoin-rpc-lite'), consistent with cover-story framing.\n","modified":"2026-10-11T14:30:09.723245924Z","published":"2026-10-11T13:45:55Z","database_specific":{"malicious-packages-origins":[{"modified_time":"2026-10-11T13:45:55Z","sha256":"30e70156c49000f2a02130da13465705bea1e9663b3ba57246a4e264bb12db25","source":"amazon-inspector","versions":["0.9.1"],"id":"IN-MAL-2026-021350","import_time":"2026-10-11T14:17:58.307499638Z"}]},"references":[{"type":"PACKAGE","url":"https://rubygems.org/gems/ton-jetton-tools/versions/0.9.1"}],"affected":[{"package":{"name":"ton-jetton-tools","ecosystem":"RubyGems","purl":"pkg:gem/ton-jetton-tools"},"versions":["0.9.1"],"database_specific":{"cwes":[{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."}],"indicators":{"evidence_files":[{"path":"ext/ton_jetton_tools/extconf.rb","sha256":"10218e975f54a4f11fe3954e1b584a5f05054003bf5773c3c2b8cceaa74ba763","tlsh":"9751775acf8359e55aa1c0c045798012faa3ab0a50646875f3ee0868ff59b26c0f12fe"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/rubygems/ton-jetton-tools/MAL-2026-17797.json"}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}