MAL-2026-16406

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/crypto-trader-py/MAL-2026-16406.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-16406
Published
2026-09-22T18:40:26Z
Modified
2026-09-22T22:30:05Z
Summary
Malicious code in crypto-trader-py (PyPI)
Details

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

Source: amazon-inspector (33e855a3ce62e35b613e702e710b81900769c241707c80f6a61462df0927529c)

The package presents itself as a crypto trading and backtesting toolkit, but ships no library code matching that description — SOURCES.txt lists only LICENSE, README, setup.py, and egg-info metadata, and top_level.txt is empty. setup.py unconditionally invokes _wus_boot() before setup() during pip install, which spawns a sibling script _cryptotr_b2ca69.py via subprocess.Popen using pythonw.exe with Windows creationflags 0x08000000 (CREATE_NO_WINDOW) to hide the console window, guarded by a tempdir lockfile (13f8811c38.lk) to avoid re-entry. Stealth markers (hidden-window flag, pythonw preference, silent try/except wrapping, obfuscated identifiers) and the absence of any advertised library content match a dropper cover-story pattern rather than a legitimate build step, and the child process runs on every install with no user interaction.

Source: kam193 (734dc70863cedc4f248265b79254d8bc4ac9dbbc40337ad7a5bbd45d9314500b)

During installation, the package attempts to silently execute code. In analyzed versions, the payload file was missing.


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

Campaign: 2026-09-snap-queue

Reasons (based on the campaign):

  • The package overrides the install command in setup.py to execute malicious code during installation.
Database specific
{
    "malicious-packages-origins":  [
        {
            "id":  "pypi/2026-09-snap-queue/crypto-trader-py",
            "import_time":  "2026-09-22T18:44:15.282333629Z",
            "modified_time":  "2026-09-22T18:40:26.644355Z",
            "sha256":  "734dc70863cedc4f248265b79254d8bc4ac9dbbc40337ad7a5bbd45d9314500b",
            "source":  "kam193",
            "versions":  [
                "1.0.0"
            ]
        },
        {
            "id":  "IN-MAL-2026-020310",
            "import_time":  "2026-09-22T22:16:11.255604423Z",
            "modified_time":  "2026-09-22T21:51:13Z",
            "sha256":  "33e855a3ce62e35b613e702e710b81900769c241707c80f6a61462df0927529c",
            "source":  "amazon-inspector",
            "versions":  [
                "1.0.0"
            ]
        }
    ]
}
References
Credits

Affected packages

PyPI / crypto-trader-py

Package

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

Affected ranges

Affected versions

1.*
1.0.0

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":  "setup.py",
            "sha256":  "214e5b1768fad2a230c6f450c7c2ed91d4f47f67d074cb10483afe446d3fbb39",
            "tlsh":  "40213500c921207086dbd25d492194f45f6f1be32993a5d5b78c4680ff845f6cb76768"
        },
        {
            "path":  "crypto_trader_py.egg-info/SOURCES.txt",
            "sha256":  "e2214b23a1eca4fb2594a3886b5aeeb90cf26a189e6645e35fcfbe39439a36ef",
            "tlsh":  "a2c0e953992dbb52277585c0e17f9f10e85666c32976a6f3e345898cd8d4401e40e411"
        }
    ],
    "package_integrity":  [
        {
            "filename":  "crypto_trader_py-1.0.0.tar.gz",
            "hashes":  {
                "blake2b_256":  "e83c7e9a1405f2b629e95e48ccd7a6f3c0b963756862923d895716e9af6a8750",
                "md5":  "c207a33ef58d51816496c8999ad1d565",
                "sha256":  "c20440226e70689325df502dae45e7dd813c91670a2367c57f3fe7e2a739d478"
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/crypto-trader-py/MAL-2026-16406.json"