mal-2026-13490
Vulnerability from ossf_malicious_packages
-= Per source details. Do not edit below this line.=-
Source: amazon-inspector (503b750458783954b66f8dea6ee8b0300fd7db5b225280f1af432cf78c1faf6d)
setup.py defines a custom install command (NativeInstall.run) that decodes a base64 blob and passes it to exec(compile(...)) at install time. The decoded payload downloads an opaque binary from https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something to /tmp/something, chmods it to 0755, and Popen-launches it detached with start_new_session=True. The fetch target's GitHub account (totti2188) is unrelated to the declared package publisher, the binary is unpinned and unverified, and the fetch-and-execute logic is concealed behind a base64 blob labeled _COMPAT_PAYLOAD with a benign-sounding '_configure_native_bindings' cover story. The package's non-install code only wraps hashlib and has no legitimate need for a native binary. Any pip install of this version triggers arbitrary code execution on the installer's host under the identity of a third-party GitHub account.
Source: kam193 (658a96d4157086ae099c38b27ef8fb7d1664956a251f21d55a9d8cb208c0a8fc)
Package 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.
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2026-08-flasq
Reasons (based on the campaign):
-
typosquatting
-
The package overrides the install command in setup.py to execute malicious code during installation.
-
exfiltration-generic
-
Downloads and executes a remote executable.
-
obfuscation
-
exfiltration-crypto
- CWE-506 - The product contains code that appears to be malicious in nature.
{
"affected": [
{
"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": "setup.py",
"sha256": "e3060a20faca6aea91d1643fe24cd6766bd885bb84a7ecbfc9c8e24b739028a3",
"tlsh": "5841b67e86b625b17c54cb835017505589179b7b6c1474dcb9ee03045fcd31987fb07a"
}
],
"package_integrity": [
{
"filename": "fast_hashes-0.1.0.tar.gz",
"hashes": {
"blake2b_256": "bfa7c40dbc7c0645414e68d9d2000db5271a18f43afee00d0734d039f38c163b",
"md5": "4995e1c8753ee2527769e116b5e336ec",
"sha256": "fc7395773734883b3e79e6d2631a666fd89f9116dc9d086beb21e155bd315cec"
}
}
]
}
},
"package": {
"ecosystem": "PyPI",
"name": "fast-hashes"
},
"versions": [
"0.1.0"
]
}
],
"credits": [
{
"contact": [
"inspector-research@amazon.com"
],
"name": "Amazon Inspector",
"type": "FINDER"
},
{
"contact": [
"https://github.com/kam193",
"https://bad-packages.kam193.eu/"
],
"name": "Kamil Ma\u0144kowski (kam193)",
"type": "REPORTER"
},
{
"contact": [
"https://github.com/kam193",
"https://bad-packages.kam193.eu/"
],
"name": "Kamil Ma\u0144kowski (kam193)",
"type": "ANALYST"
}
],
"database_specific": {
"iocs": {
"ips": [
"193.70.34.101"
],
"urls": [
"https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something"
]
},
"malicious-packages-origins": [
{
"id": "pypi/2026-08-flasq/fast-hashes",
"import_time": "2026-08-07T09:28:06.533855428Z",
"modified_time": "2026-08-07T09:25:16.339161Z",
"sha256": "658a96d4157086ae099c38b27ef8fb7d1664956a251f21d55a9d8cb208c0a8fc",
"source": "kam193",
"versions": [
"0.1.0"
]
},
{
"id": "pypi/2026-08-flasq/fast-hashes",
"import_time": "2026-08-07T10:23:52.431119868Z",
"modified_time": "2026-08-07T09:36:39.060115Z",
"sha256": "39a077e7478e5e60661ac52b41882f4f72d91acd6777a1828f2aa28d5ccfb2ba",
"source": "kam193",
"versions": [
"0.1.0"
]
},
{
"id": "IN-MAL-2026-016909",
"import_time": "2026-08-07T12:23:26.79638423Z",
"modified_time": "2026-08-07T12:16:15Z",
"sha256": "503b750458783954b66f8dea6ee8b0300fd7db5b225280f1af432cf78c1faf6d",
"source": "amazon-inspector",
"versions": [
"0.1.0"
]
}
]
},
"details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (503b750458783954b66f8dea6ee8b0300fd7db5b225280f1af432cf78c1faf6d)\nsetup.py defines a custom install command (NativeInstall.run) that decodes a base64 blob and passes it to exec(compile(...)) at install time. The decoded payload downloads an opaque binary from https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something to /tmp/something, chmods it to 0755, and Popen-launches it detached with start_new_session=True. The fetch target\u0027s GitHub account (totti2188) is unrelated to the declared package publisher, the binary is unpinned and unverified, and the fetch-and-execute logic is concealed behind a base64 blob labeled _COMPAT_PAYLOAD with a benign-sounding \u0027_configure_native_bindings\u0027 cover story. The package\u0027s non-install code only wraps hashlib and has no legitimate need for a native binary. Any pip install of this version triggers arbitrary code execution on the installer\u0027s host under the identity of a third-party GitHub account.\n\n## Source: kam193 (658a96d4157086ae099c38b27ef8fb7d1664956a251f21d55a9d8cb208c0a8fc)\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",
"id": "MAL-2026-13490",
"modified": "2026-08-07T12:25:22.914890543Z",
"published": "2026-08-07T09:25:16Z",
"references": [
{
"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/fast-hashes"
},
{
"type": "PACKAGE",
"url": "https://pypi.org/project/fast-hashes/0.1.0/"
}
],
"schema_version": "1.7.4",
"summary": "Malicious code in fast-hashes (PyPI)"
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.