{"id":"MAL-2026-17200","kind":"package","aliases":["MAL-2026-17200"],"related":[],"title":"Malicious code in aseity (PyPI)","description":"---\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.","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"aseity","fixed":[],"affected":"= 0.1.0","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-09-27T14:15:46+00:00","first_seen_at":"2026-10-26T20:52:03+00:00","triaged_at":"2026-10-26T21:08:21+00:00","updated_at":"2026-10-26T21:08:21+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-09':265C '-1':77C '-17200':8A,11A '-2026':7A,10A '/cdn/v2/9f4e7a2c1b8d.png':86C '0x00000008':124C '0x08000000':125C '2026':264C '21ef9ff3e6ef':138C '4dc1':136C '91fd':137C 'ab62':135C 'also':71C 'amazon':26C 'amazon-inspector':25C 'apphost/main.py':100C 'applic':222C 'aseiti':4A,70C 'aseity':12A 'aseity.compat':31C 'aseity/__init__.py':61C 'aseity/_shimdata.py':44C 'associ':150C 'automat':57C 'bare':68C 'base':268C 'base64':35C 'blob':167C 'blockchain':252C,288C 'bundl':97C 'byte':157C 'c2':243C,286C 'c2-in-blockchain':285C 'campaign':256C,263C,271C 'carri':89C 'categori':253C 'cf65ea5c0fe1eeef9f47a75d65e291a715094076714694247ad03714eabc53ca':205C 'chain':189C 'check':82C 'chunk':94C 'clear':258C 'code':2A,209C,214C,292C 'collect':235C 'compat':33C 'constant':41C 'contain':219C,291C 'creat':121C 'creationflag':118C 'd65d0df302f9fdd618d08a8bc095702f5b6594712ba82205c758c710fee9006e':28C 'data':40C,171C,237C 'data-nam':170C 'debugg':81C 'declar':153C 'decod':38C,75C 'deliber':177C 'deliv':156C 'deploy':191C 'detach':119C,178C 'detail':17C 'detect':294C 'directori':104C 'domain':146C 'donutautosellsrc':266C 'download':83C,273C 'dropper':190C 'e00db386':134C 'e00db386-ab62-4dc1-91fd-21ef9ff3e6ef':133C 'edit':20C 'encod':166C 'ensur':32C 'entri':109C 'env':112C 'environ':302C 'exe':113C 'exec':52C 'execut':275C,278C 'exfiltr':239C 'extens':226C,283C 'extract':95C 'fetch':213C 'hardcod':127C 'hidden':163C,215C 'histori':248C 'hold':230C 'host':202C 'imag':218C 'implant':197C 'import':69C 'infosteal':233C,262C,272C 'insid':92C 'inspector':27C 'instal':60C,200C,207C 'intent':260C 'invok':30C 'kam193':204C 'launch':106C 'launcher':176C 'like':261C 'line':23C 'mal':6A,9A 'malici':1A,13B,254C,259C 'malwar':280C 'modul':173C,227C,229C 'name':172C 'nativ':225C,282C 'native-extens':281C 'obfusc':208C,232C,279C 'opaqu':159C 'packag':14B,290C 'pass':46C,140C 'payload':55C,161C 'per':15C,129C 'per-victim':128C 'perform':78C 'persist':193C 'pip':59C 'png':88C 'polygon':251C 'process':120C 'publish':154C 'py':108C 'pypi':5A,115C 'python':49C,221C 'python.exe':98C 'reason':267C 'remot':277C 'result':48C 'retriev':245C 'routin':65C 'run':56C,62C,298C 'sandbox':301C 'second':143C,195C 'second-stag':194C 'sensit':236C 'server':244C 'setup.py':29C 'shape':184C 'ship':42C 'sourc':16C,24C,50C,203C 'stage':76C,144C,196C 'steganographi':284C 'subprocess.popen':107C 'suppli':188C 'supply-chain':187C 'tag':114C 'temp':103C 'thisisafalsepositive.st':85C,147C 'thisisafalsepositive.st/cdn/v2/9f4e7a2c1b8d.png':84C 'transact':247C 'trigger':72C 'u':110C 'use':211C 'user':111C,132C 'uuid':131C 'victim':130C 'visibl':181C 'vm':79C 'window':117C,123C,182C 'zip':91C 'zlib':37C 'zlib-decod':36C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-09-27T14:15:46+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-17200","url":"https://osv.dev/vulnerability/MAL-2026-17200","severity":"critical","published_at":"2026-09-27T14:15:46+00:00","modified_at":"2026-10-25T23:45:03+00:00","first_seen_at":"2026-10-26T20:52:03+00:00","fetched_at":"2026-10-26T20:52:03+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}