{"id":"MAL-2026-13486","title":"Malicious code in fastapii (PyPI)","summary":"Malicious code in fastapii (PyPI)","severity":"none","vendor":"fastapii","product":"fastapii","ecosystem":"pip","affected":["fastapii"],"published":"2026-08-07","updated":"2026-08-07","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/MAL-2026-13486","references":[{"url":"https://www.virustotal.com/gui/file/425f5336182e359211b5d751786d2ce1d31a673ea9c82107358a888803742649/detection"},{"url":"https://bad-packages.kam193.eu/pypi/package/fastapii"},{"url":"https://tria.ge/260807-fkycrazzg1/behavioral1"},{"url":"https://pypi.org/project/fastapii/0.1.1/"},{"url":"https://pypi.org/project/fastapii/0.2.0/"},{"url":"https://pypi.org/project/fastapii/0.3.0/"},{"url":"https://pypi.org/project/fastapii/0.1.2/"}],"tags":["osv","pip"],"ingestedAt":"2026-08-07T19:14:15.108Z","slug":"MAL-2026-13486","body":"## Overview\n\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (bf67e733322de0ce3d08269697e6ccd9460233319cadd5f97f05c8d1e855665a)\nfastapii 0.1.2 is a single-character typosquat of the popular fastapi package. Its setup.py registers a custom setuptools install cmdclass (LinuxInstall) whose post_install step decodes a base64-encoded payload (_HOOK_B64) and runs it via exec(compile(...)). On Linux, the decoded payload calls urllib.request.urlretrieve to fetch a binary from https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something into /tmp, chmods it to 0755, and launches it detached via subprocess.Popen with start_new_session=True. The GitHub account hosting the binary is unrelated to the package's declared identity, the fetch is unpinned and unverified (no hash or signature), and the Linux-only gate means the payload stays dormant on many developer laptops but fires in Linux CI and production. The shipped module is a stub named djangoo containing only a trivial hello() function, and PKG-INFO/README metadata ('HTTP client utilities', '# requestss') further obscure the package identity — the install-time dropper is the package's sole real behavior.\n\n## Source: kam193 (ccfc3dd07e620dc6bda1b28b4d8f77932ee217aff579270c0e0c74453e215943)\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\n\n## Affected packages\n\n- `fastapii`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}