# MAL-2026-16406: Malicious code in crypto-trader-py (PyPI)


- **Type:** Malicious package
- **Package:** `crypto-trader-py` (PyPI)
- **Published:** 22 Sep 2026

## What is MAL-2026-16406?

MAL-2026-16406 is a malicious package in crypto-trader-py, published on 22 Sep 2026. 

### Official description

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.

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.

## What should I do about MAL-2026-16406?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

## Fix prompt for AI coding agents

```text
MAL-2026-16406 is a malicious package: crypto-trader-py (PyPI). Every version was published to cause harm.

Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.

Reference: https://insights.sbomify.com/MAL-2026-16406/ (Markdown: https://insights.sbomify.com/MAL-2026-16406/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/MAL-2026-16406

---
From sbomify Insights: https://insights.sbomify.com/MAL-2026-16406/
Summaries are generated and may contain mistakes; the official description above is the record.
