VYPR

pypi · Malicious package advisory

Malware

richx

GHSA-jj5m-7qh8-pcr3

Malicious code in richx (PyPI)

Details

**Severity:** Critical

**Affected versions:** `= 0.1.0`

## Source: kam193 (924fa9cf3bc0754ab76a7b5960deb5b7295f4f0f3270cc5724214bdd7d543675)
Packages silently decrypt content hidden in a dependency and load them as Python extension modules. 

In the first wave, those are copies of legitimate aiohttp and aiohappyeyeballs packages.
In the second wave, malicious packages created good-looking forks of legitimate rich and pigments packages.


---

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


Campaign: 2025-10-asynhttp


Reasons (based on the campaign):


 - typosquatting


 - exfiltration-generic


 - obfuscation


 - clones-real-package


 - native-extension

---

Credit: [OpenSSF](https://github.com/ossf/malicious-packages) ([source](https://github.com/ossf/malicious-packages/blob/49d0cfba3689ed9b195d101d3a2a964c6a77f767/osv/malicious/pypi/richx/MAL-2025-191658.json))

**References:**
- https://bad-packages.kam193.eu/pypi/package/richx
- https://github.com/ossf/malicious-packages/blob/49d0cfba3689ed9b195d101d3a2a964c6a77f767/osv/malicious/pypi/richx/MAL-2025-191658.json
- https://www.cert.at/en/blog/2025/10/how-typosquatting-tricked-me-a-bit
- https://github.com/advisories/GHSA-jj5m-7qh8-pcr3

Compromised versions (1)

  • = 0.1.0

Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.