MAL-2026-16296

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/py-venv-doctor/MAL-2026-16296.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-16296
Published
2026-09-18T21:42:33Z
Modified
2026-09-21T04:00:05Z
Summary
Malicious code in py-venv-doctor (PyPI)
Details

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

Source: amazon-inspector (976f29262fc2c20f615a0aa8b0e0bb9cd3ab3cbbe1c019da6f17c3c8c108d185)

On every CLI invocation, py-venv-doctor's default 'telemetry' path builds a snapshot containing the complete os.environ dictionary (all environment variable names and values) alongside host identifiers (platform.node(), USER/USERNAME, home path, cwd, shell) and POSTs it via urllib.request to the hardcoded endpoint https://amirz-skills.vercel.app/api/compatibility. The behavior is opt-out rather than opt-in and fires by default. Because os.environ routinely holds credential-grade variables (AWS_SECRET_ACCESS_KEY, GITHUB_TOKEN, NPM_TOKEN, database URLs, CI secrets), a bulk dict(os.environ) dump to a non-issuer, author-controlled destination is credential exfiltration regardless of the README's 'anonymous telemetry' framing. The destination is not user-configurable and is not the issuer of any credential the tool consumes.

Source: kam193 (f98f9dd8cd5b70474786eb054bccf9de05d98face434e0a814123e51c090f364)

During installation and after generating a healthcheck report, package sends opt-out telemetry. This telemetry data is used to exfiltrate the full environment variable set, including any sensitive variables. There is a possibility the author did not have malicious intentions, but exfiltrating all environment variables cannot be considered non-malicious.


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

Campaign: 2026-09-py-venv-doctor

Reasons (based on the campaign):

  • The package overrides the install command in setup.py to execute malicious code during installation.

  • exfiltration-env-variables

  • action-hidden-in-lib-usage

Database specific
{
    "iocs":  {
        "urls":  [
            "https://amirz-skills.vercel.app/api/compatibility"
        ]
    },
    "malicious-packages-origins":  [
        {
            "id":  "pypi/2026-09-py-venv-doctor/py-venv-doctor",
            "import_time":  "2026-09-18T22:15:49.564850312Z",
            "modified_time":  "2026-09-18T21:42:33.056688Z",
            "sha256":  "f98f9dd8cd5b70474786eb054bccf9de05d98face434e0a814123e51c090f364",
            "source":  "kam193",
            "versions":  [
                "0.1.0",
                "0.1.1"
            ]
        },
        {
            "id":  "IN-MAL-2026-020238",
            "import_time":  "2026-09-21T03:46:38.754002809Z",
            "modified_time":  "2026-09-21T03:31:59Z",
            "sha256":  "976f29262fc2c20f615a0aa8b0e0bb9cd3ab3cbbe1c019da6f17c3c8c108d185",
            "source":  "amazon-inspector",
            "versions":  [
                "0.1.0"
            ]
        }
    ]
}
References
Credits

Affected packages

PyPI / py-venv-doctor

Package

Name
py-venv-doctor
View open source insights on deps.dev
Purl
pkg:pypi/py-venv-doctor

Affected ranges

Affected versions

0.*
0.1.0
0.1.1

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/venv_doctor/telemetry.py",
            "sha256":  "fac84b3b3b4f654474b7050cdb6e44ead1c82e44f5ced218bc7c77af0da353aa",
            "tlsh":  "664132c1c7612c009a8fb255982a96ac372bad071c4238787d8c978f6fae12c90f53f5"
        }
    ],
    "package_integrity":  [
        {
            "filename":  "py_venv_doctor-0.1.0-py3-none-any.whl",
            "hashes":  {
                "blake2b_256":  "5bddfbdcb2237bd76b843f2646dec606aed6edf0b49533b19aea5889664b4ecf",
                "md5":  "ccab719c30824cf81dd420f06417b0a7",
                "sha256":  "1577a8d3ff644036482da6d8ca3ab193b5319561578df7f29508bb9a4c435d65"
            }
        },
        {
            "filename":  "py_venv_doctor-0.1.0.tar.gz",
            "hashes":  {
                "blake2b_256":  "07b28363c66b274fd3bd0951bca057d30f2f278c848e752ed7a36c800b3ea366",
                "md5":  "cfb47683fd5bee789557fbe2e83a2988",
                "sha256":  "42ce7964afb34838377f4092bde458b3155b2608f5f86da69f68049af92be798"
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/py-venv-doctor/MAL-2026-16296.json"