pyphetools (PyPI) · Malicious Code
Affects pyphetoolsSource GCVE Database
Malicious package : remove pyphetools and rotate any secrets on hosts that installed it.
Data as of 9 Jul 2026, 10:03 UTC
Malicious package
Published to PyPI · OSV MAL-2026-5324
What to do
Remove pyphetools 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 pyphetools to 0.9.121.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| PyPIpyphetools | 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 pyphetools package version 0.9.120 on PyPI contains a malicious .pth file that executes a Bun-based JavaScript credential stealer on every Python startup. This malware exfiltrates 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 and includes obfuscation and sandbox detection techniques. The malicious code may also attempt 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/pyphetools/0.9.120/ (opens in a new tab)