phenopacket-store-toolkit (PyPI) · Malicious Code
Affects phenopacket-store-toolkitSource GCVE Database
Malicious package : remove phenopacket-store-toolkit and rotate any secrets on hosts that installed it.
Data as of 9 Jul 2026, 09:52 UTC
Malicious package
Published to PyPI · OSV MAL-2026-5322
What to do
Remove phenopacket-store-toolkit from every project, lockfile and image that pulls it in. Treat any host that installed it as compromised: rotate the credentials, tokens and keys it could read, from a clean machine.
Upgrade phenopacket-store-toolkit to 0.1.8.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| PyPIphenopacket-store-toolkit | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
The phenopacket-store-toolkit Python package version 0.1.7 contains a malicious .pth file that executes a Bun-based JavaScript credential stealer on every Python startup. This stealer downloads the Bun runtime, then runs obfuscated code to exfiltrate environment variables, .env files, SSH keys, cloud credentials, and other sensitive data to an attacker-controlled GitHub repository. It is part of the Hades/Miasma campaign attributed to the TeamPCP threat actor. The malicious code also attempts persistence and spreading by publishing infected packages using stolen credentials and may perform destructive actions if invalid GitHub tokens are detected.
References
- socket.dev/blog/shai-hulud-descends-to-hades-miasma-pypi-wave (opens in a new tab)
- o3.security/blog/pypi-supply-chain-attack-pth-file-miasma (opens in a new tab)
- bad-packages.kam193.eu/pypi/campaign/2026-06-compr-woodpecker (opens in a new tab)
- socket.dev/blog/mini-shai-hulud-miasma-and-hades-worms-target-bioinformatics-and-mcp-developers-via-malicious (opens in a new tab)
- pypi.org/project/phenopacket-store-toolkit/0.1.7/ (opens in a new tab)