MAL-2026-13487None▾ SunlitMalicious code in flasq (PyPI)
▾ Sunlit zone — Low / medium · no exploitation signal
impact 2.8 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
-= Per source details. Do not edit below this line.=-
setup.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'.
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
flasqRefer to the advisory for the patched release.