{"id":"MAL-2026-17200","title":"Malicious code in aseity (PyPI)","summary":"Malicious code in aseity (PyPI)","severity":"critical","exploited":true,"vendor":"aseity","product":"aseity","ecosystem":"pip","affected":["aseity"],"published":"2026-09-27","updated":"2026-10-25","sourceUpdated":"2026-10-25T23:45:03.295375110Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/MAL-2026-17200","references":[{"url":"https://www.virustotal.com/gui/file/d03c42c275f0dbc617428441508c49ae1adcbbc95af4eeb094bca4e4f8943f3e/detection"},{"url":"https://polygonscan.com/address/0x9c0a507300fd902787bb193d80fca5ce6e1bff9a"},{"url":"https://bad-packages.kam193.eu/pypi/package/aseity"},{"url":"https://pypi.org/project/aseity/0.1.0/"}],"tags":["osv","pip","malware"],"ingestedAt":"2026-09-28T07:19:56.092Z","slug":"MAL-2026-17200","body":"## Overview\n\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (d65d0df302f9fdd618d08a8bc095702f5b6594712ba82205c758c710fee9006e)\nsetup.py invokes aseity.compat._ensure_compat, which base64+zlib-decodes the DATA constant shipped in aseity/_shimdata.py and passes the resulting Python source to exec(), so the payload runs automatically on `pip install`. aseity/__init__.py runs the same routine, so a bare `import aseity` also triggers it. The decoded stage-1 performs VM and debugger checks, downloads https://thisisafalsepositive.st/cdn/v2/9f4e7a2c1b8d.png (a PNG carrying a ZIP inside its chunks), extracts a bundled python.exe and AppHost/main.py to a temp directory, and launches subprocess.Popen([py, entry, '-u', _USER, '--env', 'EXE', '--tag', 'PyPi']) with Windows creationflags DETACHED_PROCESS | CREATE_NO_WINDOW (0x00000008 | 0x08000000). A hardcoded per-victim UUID (_USER='e00db386-ab62-4dc1-91fd-21ef9ff3e6ef') is passed to the second stage. The domain thisisafalsepositive.st is not associated with any declared publisher, the delivered bytes are opaque, the payload is hidden as an encoded blob in a data-named module, and the launcher deliberately detaches with no visible window — the shape of a supply-chain dropper deploying a persistent second-stage implant on the installer's host.\n\n## Source: kam193 (cf65ea5c0fe1eeef9f47a75d65e291a715094076714694247ad03714eabc53ca)\nDuring installation, obfuscated code is used to fetch code hidden in an image containing a Python application with a native extension module. This module holds an obfuscated infostealer which collects sensitive data and exfiltrates them to a C2 server retrieved from transaction history in the Polygon blockchain.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-09-donutautosellsrc\n\n\nReasons (based on the campaign):\n\n\n - infostealer\n\n\n - Downloads and executes a remote executable.\n\n\n - obfuscation\n\n\n - malware\n\n\n - native-extension\n\n\n - steganography\n\n\n - c2-in-blockchain\n\n\n - The package contains code to detect if it is running in a sandbox environment.\n\n\n## Affected packages\n\n- `aseity`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"abyssal","depthScore":70,"depthScoreParts":{"impact":52.3,"likelihood":0,"exploitation":18,"ransomware":0},"changes":[]}