Malicious code in agentaix (PyPI)
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (c403a9ecab78c519698c7faebcb0f9de4f8af059a4c3f5803acf8c534923138a) On `import agentaix`, `src/agentaix/__init__.py` executes `drop_readme_on_desktop()` at module top level, copying the bundled file `readme.txt` to `~/Desktop/readme.txt`. The file is not documentation: it is a Python remote-access client with a `#!/usr/bin/env python3` shebang that registers `username@hostname` with a hardcoded command-and-control server at `https://googleforum.pythonanywhere.com` and polls `/api/client//...` for operator commands. Handlers implement arbitrary shell execution via `subprocess.run(command, shell=True)` (`handle_exec`), arbitrary file read with base64-encoded upload back to the C2 (`handle_download`), plus `upload`, `delete`, `rename`, and `open` operations. The dropper stages the payload under a benign filename in a highly visible location to induce the user to run it; once run, the operator obtains interactive shell and arbitrary file read on the host, enabling theft of SSH keys, cloud credentials, and other secrets. `pyproject.toml` ships placeholder author metadata (`Your Name` / `you@example.com`, `github.com/yourname/agentaix`), consistent with an unattributed malicious upload. ## Source: kam193 (f42a135102abc5c66418237d4c6d9f8ee608570f8d4d5146463924666e0338e1) The package installs a persistent job that allows the attacker for exfiltrating files and executing remote code on the victim's
- Products
- agentaix
- Affected versions
- 0.1.0, 0.2.0
- Fixed versions
- Not specified
- CVEs
- Not specified
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 15:54 UTC · Revision 1
Source evidence
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (c403a9ecab78c519698c7faebcb0f9de4f8af059a4c3f5803acf8c534923138a) On `import agentaix`, `src/agentaix/__init__.py` executes `drop_readme_on_desktop()` at module top level, copying the bundled file `readme.txt` to `~/Desktop/readme.txt`. The file is not documentation: it is a Python remote-access client with a `#!/usr/bin/env python3` shebang that registers `username@hostname` with a hardcoded command-and-control server at `https://googleforum.pythonanywhere.com` and polls `/api/client//...` for operator commands. Handlers implement arbitrary shell execution via `subprocess.run(command, shell=True)` (`handle_exec`), arbitrary file read with base64-encoded upload back to the C2 (`handle_download`), plus `upload`, `delete`, `rename`, and `open` operations. The dropper stages the payload under a benign filename in a highly visible location to induce the user to run it; once run, the operator obtains interactive shell and arbitrary file read on the host, enabling theft of SSH keys, cloud credentials, and other secrets. `pyproject.toml` ships placeholder author metadata (`Your Name` / `you@example.com`, `github.com/yourname/agentaix`), consistent with an unattributed malicious upload. ## Source: kam193 (f42a135102abc5c66418237d4c6d9f8ee608570f8d4d5146463924666e0338e1) The package installs a persistent job that allows the attacker for exfiltrating files and executing remote code on the victim's
osv:MAL-2026-17752
agentaix
Fixed versions: Not specified
Complete source record
{
"id": "fe20cc8ac118fb28b24ec1f7c6a9007d7dee6e6af2ca69b3402f9a03f9a178b5",
"url": "https://osv.dev/vulnerability/MAL-2026-17752",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Malicious code in agentaix (PyPI)",
"summary": "--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (c403a9ecab78c519698c7faebcb0f9de4f8af059a4c3f5803acf8c534923138a) On `import agentaix`, `src/agentaix/__init__.py` executes `drop_readme_on_desktop()` at module top level, copying the bundled file `readme.txt` to `~/Desktop/readme.txt`. The file is not documentation: it is a Python remote-access client with a `#!/usr/bin/env python3` shebang that registers `username@hostname` with a hardcoded command-and-control server at `https://googleforum.pythonanywhere.com` and polls `/api/client//...` for operator commands. Handlers implement arbitrary shell execution via `subprocess.run(command, shell=True)` (`handle_exec`), arbitrary file read with base64-encoded upload back to the C2 (`handle_download`), plus `upload`, `delete`, `rename`, and `open` operations. The dropper stages the payload under a benign filename in a highly visible location to induce the user to run it; once run, the operator obtains interactive shell and arbitrary file read on the host, enabling theft of SSH keys, cloud credentials, and other secrets. `pyproject.toml` ships placeholder author metadata (`Your Name` / `you@example.com`, `github.com/yourname/agentaix`), consistent with an unattributed malicious upload. ## Source: kam193 (f42a135102abc5c66418237d4c6d9f8ee608570f8d4d5146463924666e0338e1) The package installs a persistent job that allows the attacker for exfiltrating files and executing remote code on the victim's ",
"evidence": "osv:MAL-2026-17752",
"products": [
{
"name": {
"value": "agentaix",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.1.0",
"evidence": "/affected/0/versions"
},
{
"value": "0.2.0",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "unknown",
"structured": {
"id": "MAL-2026-17752",
"aliases": [
"MAL-2026-17752"
],
"affected": [
{
"package": {
"name": "agentaix",
"purl": "pkg:pypi/agentaix",
"ecosystem": "PyPI"
},
"versions": [
"0.1.0",
"0.2.0"
],
"database_specific": {
"cwes": [
{
"name": "Embedded Malicious Code",
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature."
},
{
"name": "Embedded Malicious Code",
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature."
}
],
"source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/agentaix/MAL-2026-17752.json",
"indicators": {
"evidence_files": [
{
"path": "src/agentaix/__init__.py",
"tlsh": "26515346de1f9422c673c24f1811d467e32703839ed16516bcfd86b07f7607ac4a09ae",
"sha256": "4dee138d77c1b30b2d373f5619eca47976fe440876f02d3f9d7fe9fea5f5190e"
},
{
"path": "src/agentaix/readme.txt",
"tlsh": "17021262dc8e646383b2b50cc424c561f69a1343e6165c17f9fc87a87f74732e2b16ae",
"sha256": "45b2f442c3133d3494511eff3b8ea249bb05418a57c4db7c827916588d11eff0"
}
],
"package_integrity": [
{
"hashes": {
"md5": "c97de92c6bab8ff1e6b0e182f4da801d",
"sha256": "37af27d5d9fbf0748967527d1b5781c18a4580c4215cfb22adf48c9665cdf673",
"blake2b_256": "5cbfa07428658115dec08485e725f93f5990f100b9730b78775a18ff0936e12b"
},
"filename": "agentaix-0.2.0-py3-none-any.whl"
},
{
"hashes": {
"md5": "f07d6be912819033f1495b3d34900e01",
"sha256": "8d31929ff91e05916818f6ad1cda87c49f49fe475f1f3f92e786e51a3cc46856",
"blake2b_256": "f469c1341d5dd9e4703b99be5e037d56fcdd367b4994b238b766da0d7696f2dd"
},
"filename": "agentaix-0.2.0.tar.gz"
}
]
}
}
}
],
"modified": "2026-10-15T09:30:03.446209650Z",
"provider": "osv",
"references": [
"https://bad-packages.kam193.eu/pypi/package/agentaix",
"https://pypi.org/project/agentaix/0.2.0/",
"https://pypi.org/project/agentaix/0.1.0/"
],
"provider_metadata": {
"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": [
{
"id": "pypi/2026-10-agentaix/agentaix",
"sha256": "fd321806b962224268527ea2f73221d5f6014beeca857682854fb5a5e85e5fb1",
"source": "kam193",
"versions": [
"0.1.0",
"0.2.0"
],
"import_time": "2026-10-10T08:46:18.828291614Z",
"modified_time": "2026-10-10T07:57:16.609573Z"
},
{
"id": "IN-MAL-2026-021360",
"sha256": "360b4359c789a2bae94b30dbaf4b6ab61b64711fedf3447c8a064c6d7cf6ddd3",
"source": "amazon-inspector",
"versions": [
"0.2.0"
],
"import_time": "2026-10-11T14:17:59.19918417Z",
"modified_time": "2026-10-11T13:47:28Z"
},
{
"id": "IN-MAL-2026-021379",
"sha256": "c403a9ecab78c519698c7faebcb0f9de4f8af059a4c3f5803acf8c534923138a",
"source": "amazon-inspector",
"versions": [
"0.1.0"
],
"import_time": "2026-10-11T14:18:00.805594059Z",
"modified_time": "2026-10-11T13:50:30Z"
},
{
"id": "pypi/2026-10-agentaix/agentaix",
"sha256": "f42a135102abc5c66418237d4c6d9f8ee608570f8d4d5146463924666e0338e1",
"source": "kam193",
"versions": [
"0.1.0",
"0.2.0"
],
"import_time": "2026-10-15T09:20:03.531998005Z",
"modified_time": "2026-10-10T07:57:16.609573Z"
}
]
}
},
"related_cves": [],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 326288,
"published_at": "2026-10-10T07:57:16+00:00"
}