{"id":"MAL-2026-13487","summary":"Malicious code in flasq (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (79bdf17d9c07586ddc0b7121037c2c10019d7be01d2dd49685680a8e876342c6)\nsetup.py registers a custom install cmdclass whose post-install hook is stored as a base64-encoded blob and decoded+exec'd at install time. On Linux, the decoded hook uses urllib.request.urlretrieve to download a binary from https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something, writes it to /tmp/something, chmods it 0755, and spawns it detached via subprocess.Popen(..., start_new_session=True). The download source is an unrelated personal GitHub account; there is no hash or signature verification; and the base64-obfuscation of an install-time code path is an evasion signal. The package advertises itself as 'HTTP client utilities' — this behavior is unrelated to that purpose. The setup.py also defaults the published PyPI name to 'requestss' (name=os.environ.get('PYPI_PACKAGE_NAME', 'requestss')), a one-character typosquat of the popular 'requests' package, indicating the artifact is intended to reach developers mistyping 'requests'.\n\n## Source: kam193 (2498f9d207b216ad7438cd262c9136cc5453d288f97a74d4cd44a9a2accf9141)\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-07T12:35:24.775872532Z","published":"2026-08-07T07:01:59Z","database_specific":{"iocs":{"ips":["193.70.34.101"],"urls":["https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something"]},"malicious-packages-origins":[{"source":"kam193","versions":["0.1.1","0.1.2","0.2.0","0.3.0"],"id":"pypi/2026-08-flasq/flasq","import_time":"2026-08-07T07:35:19.073935153Z","modified_time":"2026-08-07T07:01:59.251929Z","sha256":"2498f9d207b216ad7438cd262c9136cc5453d288f97a74d4cd44a9a2accf9141"},{"sha256":"584cd0b30cef0f0b35b72eb0276753fbcb00f15c0ff9ee3cb8555ceba377aa2a","source":"kam193","versions":["0.1.1","0.1.2","0.2.0","0.3.0"],"id":"pypi/2026-08-flasq/flasq","import_time":"2026-08-07T08:57:13.351596016Z","modified_time":"2026-08-07T07:01:59.251929Z"},{"versions":["0.1.2"],"id":"IN-MAL-2026-016911","import_time":"2026-08-07T12:23:26.874312598Z","modified_time":"2026-08-07T12:16:32Z","sha256":"1ef5028c7103dbeab8de4e17eabb8a98a2491cb51ceeaa574029f7aea58dfa98","source":"amazon-inspector"},{"versions":["0.1.1"],"id":"IN-MAL-2026-016914","import_time":"2026-08-07T12:23:26.984676821Z","modified_time":"2026-08-07T12:16:57Z","sha256":"79bdf17d9c07586ddc0b7121037c2c10019d7be01d2dd49685680a8e876342c6","source":"amazon-inspector"},{"id":"IN-MAL-2026-016890","import_time":"2026-08-07T12:23:25.898770608Z","modified_time":"2026-08-07T12:13:29Z","sha256":"816f21881e18843f9a15e72f820abb56e7e171c9779ed64bcd6b03ab10f4811b","source":"amazon-inspector","versions":["0.2.0"]},{"modified_time":"2026-08-07T12:16:23Z","sha256":"8ae342e7be11cf89cf0473d0bbf83dbbc8eb6f88e7bf45605f4e89ff54674147","source":"amazon-inspector","versions":["0.3.0"],"id":"IN-MAL-2026-016910","import_time":"2026-08-07T12:23:26.845984476Z"}]},"references":[{"type":"EVIDENCE","url":"https://www.virustotal.com/gui/file/425f5336182e359211b5d751786d2ce1d31a673ea9c82107358a888803742649/detection"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/flasq"},{"type":"EVIDENCE","url":"https://tria.ge/260807-fkycrazzg1/behavioral1"},{"type":"PACKAGE","url":"https://pypi.org/project/flasq/0.1.2/"},{"type":"PACKAGE","url":"https://pypi.org/project/flasq/0.1.1/"},{"type":"PACKAGE","url":"https://pypi.org/project/flasq/0.2.0/"},{"type":"PACKAGE","url":"https://pypi.org/project/flasq/0.3.0/"}],"affected":[{"package":{"name":"flasq","ecosystem":"PyPI","purl":"pkg:pypi/flasq"},"versions":["0.1.1","0.1.2","0.2.0","0.3.0"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"},{"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":"8b7df77bb56304e04f1444a15847079398b0e864171717028dcef5f9a02d431e","tlsh":"fe21756a8e2111b46c14c3855953401b166baba66c2074e4beae33642b8d25dca7f097"}],"package_integrity":[{"hashes":{"blake2b_256":"57b640d6584cf9deb2c23f204533e6346b62c51109df65dd12445f148eed6970","md5":"f338d6c62df6cb2d45b7afb6a23440ac","sha256":"8330ef9d021a8b140698877ea764ad5ad8d829c587cf387132904883d4193a7d"},"filename":"flasq-0.1.2.tar.gz"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/flasq/MAL-2026-13487.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":"REPORTER"}]}