MAL-2026-17883

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/py-worm/MAL-2026-17883.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-17883
Published
2026-10-15T08:29:24Z
Modified
2026-10-29T14:30:35Z
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.


-= Per source details. Do not edit below this line.=-

Source: amazon-inspector (8fd8563e18894311d651012477647efc1a169f465a9cf89db5e7245b0b6ffcc9)

The package name 'py-worm' is suggestive of self-propagation behavior, but no a static rule fired and no traced code behavior was captured for this version. Without concrete evidence of credential harvest, outbound exfiltration, install-time code execution, or publish-token enumeration in the shipped files, the package cannot be classified as a confirmed supply-chain attack from the available signals alone.

Source: kam193 (d4c5838f30da7c1f684305ec0704ef37e963793449390f5b13a4e06212ccbd9d)

The package installs a persistent job that allows the attacker for exfiltrating files and executing remote code on the victim's machine.


Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.

Campaign: 2026-10-agentaix

Reasons (based on the campaign):

  • files-exfiltration

  • peristence-autorun

  • The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.

  • rat

  • persistence

  • Downloads and executes a remote malicious script.

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"
            ]
        },
        {
            "id": "IN-MAL-2026-022052",
            "import_time": "2026-10-29T14:14:21.283339964Z",
            "modified_time": "2026-10-29T13:42:33Z",
            "sha256": "8fd8563e18894311d651012477647efc1a169f465a9cf89db5e7245b0b6ffcc9",
            "source": "amazon-inspector",
            "versions": [
                "2.0.0"
            ]
        }
    ]
}
References
Credits

Affected packages

PyPI / py-worm

Package

Affected ranges

Affected versions

0.*
0.1.0
2.*
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"
    },
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    }
]
indicators
{
    "package_integrity": [
        {
            "filename": "py_worm-2.0.0-py3-none-any.whl",
            "hashes": {
                "blake2b_256": "176f0efd0b9c049435a2f610272b7630d451621ba6676ae66afe3e719a158476",
                "md5": "452882a3c6d531240df37d6c5ec8aea5",
                "sha256": "426d98c8403c066a955575c414f0941042c31dd11791fe73a0db68a09f644029"
            }
        },
        {
            "filename": "py_worm-2.0.0.tar.gz",
            "hashes": {
                "blake2b_256": "3206949afef96592fbf7d9bd45cae614803adf907b31dbb2c36c043a2404fe8a",
                "md5": "3f94d0bb739a9be48ffdb7e436921f4b",
                "sha256": "cace83399e5a2523a88be4e07a1fd211def3f2f9e5040693539ff1356806aa02"
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/py-worm/MAL-2026-17883.json"