VYPR

pypi · Malicious package advisory

Malware

xinference

GHSA-9x96-4gxh-mxx2

Malicious code in xinference (PyPI)

Details

**Severity:** Critical

**Affected versions:** `= 2.6.0`

## Source: kam193 (1d006f6a08c959393160456d4ace221fd165b6d609fc8356ebfb041979aef93d)
Versions 2.6.0, 2.6.1, 2.6.2 were compromised.


Following a malicious pull request that exfiltrated sensitive data from the CI runner, three malicious PyPI releases were published. Infected releases contain code typical for TeamPCP actions that exfiltrates all kinds of sensitive data (credentials, env variables, SSH keys, cloud tokens, configuration files, shell histories, cryptowallets, data from secret managers...). Malicious action activates during importing the main package's module. TeamPCP denies their involvement.


---

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


Campaign: 2026-04-teampcp


Reasons (based on the campaign):


 - exfiltration-env-variables


 - exfiltration-ssh-keys


 - obfuscation


 - exfiltration-cloud-tokens


 - exfiltration-crypto


 - exfiltration-credentials


 - compromised-package


 - exploited-ci-vulnerability

---

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

**References:**
- https://github.com/xorbitsai/inference/issues/4828
- https://github.com/xorbitsai/inference/pull/4826
- https://bad-packages.kam193.eu/pypi/campaign/2026-04-teampcp
- https://github.com/oaoaoaoaooaoa/inference/blob/f6cf73a913443d8098d7fe2456b54cdc25eb9574/doc/source/gen_docs.py
- https://github.com/ossf/malicious-packages/blob/49d0cfba3689ed9b195d101d3a2a964c6a77f767/osv/malicious/pypi/xinference/MAL-2026-3000.json
- https://research.jfrog.com/post/xinference-compromise
- https://x.com/pcpcats/status/2046927940932260092
- https://github.com/advisories/GHSA-9x96-4gxh-mxx2

Compromised versions (1)

  • = 2.6.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.