{ "schema_version": "1.7.4", "id": "MAL-2026-17883", "published": "2026-10-15T08:29:24Z", "modified": "2026-10-16T04:04:55.823041861Z", "summary": "Malicious code in py-worm (PyPI)", "details": "Importing py-worm's `agentaix` module downloads a mutable Python file from `https://raw.githubusercontent.com/anonrider404/pypl/refs/heads/main/readme.txt` to a temporary `.py` file and launches it without a visible console on Windows. Versions 0.1.0 and 2.0.0 do this directly during import; version 2.0.1 starts a daemon thread during import to perform the same action. The package's CLI and GUI entry points import this module. The remote file's Git history contains a Windows remote file management client that registers persistence through an HKCU Run entry, polls `https://googleforum.pythonanywhere.com` for commands, and supports file upload, download, deletion, and command execution. An earlier remote-file revision is byte-identical to the `readme.txt` payload reported in MAL-2026-17752 (`agentaix`); the 39,931-byte `agentaix/gui.py` is also byte-identical across that package and all py-worm releases. The remote file is mutable; its contents at the time of any particular victim import and actual execution on victim systems have not been established.\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (d4c5838f30da7c1f684305ec0704ef37e963793449390f5b13a4e06212ccbd9d)\nThe package installs a persistent job that allows the attacker for exfiltrating files and executing remote code on the victim's machine.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-agentaix\n\n\nReasons (based on the campaign):\n\n\n - files-exfiltration\n\n\n - peristence-autorun\n\n\n - The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.\n\n\n - rat\n\n\n - persistence\n\n\n - Downloads and executes a remote malicious script.\n", "affected": [ { "package": { "name": "py-worm", "ecosystem": "PyPI" }, "versions": [ "0.1.0", "2.0.0", "2.0.1" ], "database_specific": { "cwes": [ { "cweId": "CWE-506", "description": "The product contains code that appears to be malicious in nature.", "name": "Embedded Malicious Code" } ] } } ], "references": [ { "type": "WEB", "url": "https://bad-packages.kam193.eu/pypi/package/py-worm" }, { "type": "EVIDENCE", "url": "https://files.pythonhosted.org/packages/59/de/799235425a54e0fd7ca9ac5306dd21675b390b1c0241caa1115f1371eb95/py_worm-2.0.1-py3-none-any.whl" }, { "type": "WEB", "url": "https://github.com/anonrider404/pypl/blob/9395c5802b11bc088925d7adf6e2f66b8b0709fd/readme.txt" }, { "type": "ADVISORY", "url": "https://osv.dev/vulnerability/MAL-2026-17752" } ], "database_specific": { "iocs": { "domains": [ "googleforum.pythonanywhere.com" ], "urls": [ "https://raw.githubusercontent.com/anonrider404/pypl/9395c5802b11bc088925d7adf6e2f66b8b0709fd/readme.txt", "https://raw.githubusercontent.com/anonrider404/pypl/refs/heads/main/readme.txt", "https://github.com/anonrider404/pypl" ] }, "malicious-packages-origins": [ { "id": "pypi/2026-10-agentaix/py-worm", "import_time": "2026-10-15T09:20:03.534680188Z", "modified_time": "2026-10-15T08:29:24.603564Z", "sha256": "d4c5838f30da7c1f684305ec0704ef37e963793449390f5b13a4e06212ccbd9d", "source": "kam193", "versions": [ "0.1.0", "2.0.0", "2.0.1" ] } ] }, "credits": [ { "name": "ESTsecurity", "contact": [ "https://www.estsecurity.com/" ], "type": "FINDER" }, { "name": "Kamil MaƄkowski (kam193)", "contact": [ "https://github.com/kam193", "https://bad-packages.kam193.eu/" ], "type": "REPORTER" } ] }