{"id":"MAL-2026-17755","summary":"Malicious code in agent-vx (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (90f0a2b273b0361ffd4057f114f1be1eaf9469c9746d2737a21947905570ff80)\nOn `import agentaix`, the package's __init__.py runs a top-level `install_manage()` side effect that renames a bundled `readme.txt` into `manage.py` and launches it with pythonw.exe using CREATE_NO_WINDOW so no console appears. The disguised script registers the installer as `username@hostname` with https://googleforum.pythonanywhere.com and then polls that endpoint for commands. The command handlers include `exec` (arbitrary shell via `subprocess.run(command, shell=True)`), plus list, download, upload, delete, rename, and open — a full remote-controlled shell and file manager driven by a hardcoded author endpoint, with no authentication beyond the username@hostname identifier. The `download` handler reads any path accessible to the user process, base64-encodes the contents, and POSTs them back to https://googleforum.pythonanywhere.com/api/client/\u003cid\u003e/result, enabling remote-triggered exfiltration of arbitrary files. For persistence, `_add_to_startup` writes an `AgentAIXManage` value under HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run pointing at pythonw.exe plus the renamed script so the C2 client auto-starts at every user login. The payload fires the moment the module is imported, with no user interaction, and the readme.txt disguise plus hidden-window launch are deliberate evasion of casual inspection.\n\n## Source: kam193 (f91699ff915dd2020b9736052f7036ee723aaaa0628e5384ff47f65577d397f6)\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","modified":"2026-10-15T09:30:03.393207530Z","published":"2026-10-10T11:19:48Z","database_specific":{"iocs":{"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"],"domains":["googleforum.pythonanywhere.com"]},"malicious-packages-origins":[{"modified_time":"2026-10-10T11:19:48.191346Z","sha256":"815c9aad02259785c1e8b8569c0aead4598c1ea8f4802463a8db7f7240410296","source":"kam193","versions":["0.1.0"],"id":"pypi/2026-10-agentaix/agent-vx","import_time":"2026-10-10T11:40:44.043018514Z"},{"sha256":"90f0a2b273b0361ffd4057f114f1be1eaf9469c9746d2737a21947905570ff80","source":"amazon-inspector","versions":["0.1.0"],"id":"IN-MAL-2026-021346","import_time":"2026-10-11T14:17:57.970283446Z","modified_time":"2026-10-11T13:45:22Z"},{"import_time":"2026-10-15T09:20:03.529579325Z","modified_time":"2026-10-10T11:19:48.191346Z","sha256":"f91699ff915dd2020b9736052f7036ee723aaaa0628e5384ff47f65577d397f6","source":"kam193","versions":["0.1.0"],"id":"pypi/2026-10-agentaix/agent-vx"}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/agent-vx"},{"type":"PACKAGE","url":"https://pypi.org/project/agent-vx/0.1.0/"}],"affected":[{"package":{"name":"agent-vx","ecosystem":"PyPI","purl":"pkg:pypi/agent-vx"},"versions":["0.1.0"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"src/agentaix/__init__.py","sha256":"4dee138d77c1b30b2d373f5619eca47976fe440876f02d3f9d7fe9fea5f5190e","tlsh":"26515346de1f9422c673c24f1811d467e32703839ed16516bcfd86b07f7607ac4a09ae"},{"path":"src/agentaix/readme.txt","sha256":"45b2f442c3133d3494511eff3b8ea249bb05418a57c4db7c827916588d11eff0","tlsh":"17021262dc8e646383b2b50cc424c561f69a1343e6165c17f9fc87a87f74732e2b16ae"}],"package_integrity":[{"hashes":{"blake2b_256":"516b2aaad1364caabe900bab9bcc2ff523224d87e07dc72cb035adfecd126c2d","md5":"31574817a40037ae5afb5fb310bd787a","sha256":"77f9f614ce2e05999bd7c2bac84a4904ca0d166a92c6b826c72f64983bc9e739"},"filename":"agent_vx-0.1.0-py3-none-any.whl"},{"filename":"agent_vx-0.1.0.tar.gz","hashes":{"sha256":"b889a165d8bfb7990e43be3b632ef407a6317c0693e7122e7feb962ed5a87387","blake2b_256":"712a5a0870166af24e12b3ec433b6af10cd01af2d5661cbca7e45d0491fcd53c","md5":"95c1523b00361ff3002d0b760603401e"}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/agent-vx/MAL-2026-17755.json"}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"}]}