{"id":"MAL-2026-13607","summary":"Malicious code in speed-hashes (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (120e6126065bccc254b925a6913422c0cbdd201054437820369c2726fd4a2871)\nsetup.py defines a custom install command (NativeInstall) that runs on pip install. After the normal install step, a base64 literal (_COMPAT_PAYLOAD) is decoded and passed to exec(compile(...)) under cover-story names (_configure_native_bindings, NativeInstall) mimicking native-extension setup. The decoded Python code, on Linux, downloads an opaque binary from github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something to /tmp/something, chmods it 0755, and spawns it detached. Publisher metadata references github.com/nickolasburr/fast-hashes, which does not match the download source. The install lifecycle auto-executes attacker-controlled code fetched from a non-publisher GitHub account, yielding remote code execution on the installer's host.\n\n## Source: kam193 (6d9bfbd1f81612ac7e8f7da9226a520d3d8c76387f877a434466e9326f2079fe)\nPackage imitates name of a popula library. During installation, obfuscated code downloads a malicious executable and starts it. It then exfiltrates at least cryptocurrency wallet data, probably more.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-08-flasq\n\n\nReasons (based on the campaign):\n\n\n - typosquatting\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.\n\n\n - exfiltration-generic\n\n\n - Downloads and executes a remote executable.\n\n\n - obfuscation\n\n\n - exfiltration-crypto\n","modified":"2026-08-07T13:21:02.260721813Z","published":"2026-08-07T11:56:15Z","database_specific":{"iocs":{"ips":["193.70.34.101"],"urls":["https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something"]},"malicious-packages-origins":[{"import_time":"2026-08-07T12:51:24.178225976Z","modified_time":"2026-08-07T12:37:14Z","sha256":"120e6126065bccc254b925a6913422c0cbdd201054437820369c2726fd4a2871","source":"amazon-inspector","versions":["0.1.0"],"id":"IN-MAL-2026-017054"},{"sha256":"6d9bfbd1f81612ac7e8f7da9226a520d3d8c76387f877a434466e9326f2079fe","source":"kam193","versions":["0.1.0"],"id":"pypi/2026-08-flasq/speed-hashes","import_time":"2026-08-07T12:51:26.464247734Z","modified_time":"2026-08-07T11:56:23.338672Z"}]},"references":[{"type":"PACKAGE","url":"https://pypi.org/project/speed-hashes/0.1.0/"},{"type":"EVIDENCE","url":"https://www.virustotal.com/gui/file/425f5336182e359211b5d751786d2ce1d31a673ea9c82107358a888803742649/detection"},{"type":"EVIDENCE","url":"https://tria.ge/260807-fkycrazzg1/behavioral1"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/speed-hashes"}],"affected":[{"package":{"name":"speed-hashes","ecosystem":"PyPI","purl":"pkg:pypi/speed-hashes"},"versions":["0.1.0"],"database_specific":{"indicators":{"package_integrity":[{"filename":"speed_hashes-0.1.0.tar.gz","hashes":{"sha256":"a3f624d29e661916d1664302f3f09882faba0de5451bf1ed68fd225d73575e58","blake2b_256":"69fa2d1f1ba04f8115d1e4e8388fee34bd44ed983b4b19575a9213e089575e3f","md5":"9ffb07bbf3b35e00c2afe3f08a4f9c0d"}}],"evidence_files":[{"tlsh":"ae41947e86b625b13c54cb83501750564a179a7b6c10b4dcb9ae03045fcc21987fb07a","path":"setup.py","sha256":"f7ff4d6eb5d06c99cdc597a97602583530e243bd59e414138943e2dcb1495d29"}]},"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/speed-hashes/MAL-2026-13607.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"ANALYST"}]}