{"id":"MAL-2026-13489","title":"Malicious code in pydanticc (PyPI)","summary":"Malicious code in pydanticc (PyPI)","severity":"none","vendor":"pydanticc","product":"pydanticc","ecosystem":"pip","affected":["pydanticc"],"published":"2026-08-07","updated":"2026-08-07","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/MAL-2026-13489","references":[{"url":"https://www.virustotal.com/gui/file/425f5336182e359211b5d751786d2ce1d31a673ea9c82107358a888803742649/detection"},{"url":"https://bad-packages.kam193.eu/pypi/package/pydanticc"},{"url":"https://tria.ge/260807-fkycrazzg1/behavioral1"},{"url":"https://pypi.org/project/pydanticc/0.3.0/"},{"url":"https://pypi.org/project/pydanticc/0.1.2/"},{"url":"https://pypi.org/project/pydanticc/0.2.0/"},{"url":"https://pypi.org/project/pydanticc/0.1.1/"}],"tags":["osv","pip"],"ingestedAt":"2026-08-07T19:14:15.198Z","slug":"MAL-2026-13489","body":"## Overview\n\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (0bc3a091548db52bab3bf8556e95780b3041aa971b6353d7f31bdb71128915a1)\npydanticc is a typosquat of the popular 'pydantic' package. Its setup.py defines a custom setuptools install command whose body is stored as a base64 string literal and reconstituted at install time via base64.b64decode + compile + exec, concealing the payload from plain reading of setup.py. On Linux, the decoded hook downloads an opaque executable from https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something (a personal GitHub account unrelated to the package's stated purpose), writes it to /tmp/something, marks it executable, and launches it detached via subprocess.Popen with start_new_session=True. The shipped Python module (djangoo/main.py) contains only a trivial hello() print with no pydantic-related functionality, so the package's real effect on installation is arbitrary remote code execution on the installer's host. The unpinned personal-account release URL, base64/exec obfuscation of the URL and Popen call, detached background execution, name-squat of a top-100 package, and stub content together constitute a classic install-time dropper.\n\n## Source: kam193 (c16b176d1ba6ee3f4f1680d0678c9933e620f4de18bec7bc9af67978ed737527)\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- `pydanticc`\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":[]}