---
id: "MAL-2026-16406"
kind: "package"
aliases: ["MAL-2026-16406"]
title: "Malicious code in crypto-trader-py (PyPI)"
severity: "critical"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: [{"name": "crypto-trader-py", "fixed": [], "affected": "= 1.0.0", "ecosystem": "pypi"}]
ecosystems: ["pypi"]
tags: ["malicious", "package"]
not_affected_if: []
published_at: "2026-09-22T18:40:26+00:00"
first_seen_at: "2026-10-26T20:51:57+00:00"
updated_at: "2026-10-26T21:10:31+00:00"
sources: [{"source": "osv-malicious", "url": "https://osv.dev/vulnerability/MAL-2026-16406", "first_seen_at": "2026-10-26T20:51:57+00:00"}]
---

# Malicious code in crypto-trader-py (PyPI)

## Affected

- pypi:crypto-trader-py affected = 1.0.0 fixed ?

## Timeline

- 2026-10-26T20:51:57+00:00 osv-malicious https://osv.dev/vulnerability/MAL-2026-16406

## From the sources

---
_-= 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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
