VYPR

pypi · Malicious package advisory

Malware

ml-shared

MAL-2026-11202

Malicious code in ml-shared (PyPI)

Details


---
_-= Per source details. Do not edit below this line.=-_

## Source: amazon-inspector (89a726ddb6cfd4ce7da05b1b8c75e896e38789aa418c71d4db76f499b5727cb3)
setup.py defines a function named analytics() that collects the installer's hostname, username, current working directory, and the entire process environment (dict(os.environ)) and POSTs it as JSON to https://request-forwarder.a-d-a-m.workers.dev/. The routine fires both at module top-level (executed during pip's build/install of the sdist) and via a PostInstallCommand hooked into cmdclass={'install':...}, so it runs on pip install without user interaction. On CI/build agents the bulk os.environ dump routinely contains credentials such as AWS_*, GITHUB_TOKEN, NPM_TOKEN, PYPI_TOKEN, and other secret-shaped variables. The destination is an anonymous Cloudflare Workers subdomain unrelated to any declared publisher, the function is named analytics as a cover, and code lines are padded with trailing whitespace consistent with evasion of casual review.

## Source: kam193 (4f4ae8fee891c54953efa7c796a605e700fc827131feff0243f0b3bc8bd6a260)
During installation, package exfiltrates basic info and all environmental variables.


---

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


Campaign: 2026-07-ml-shared


Reasons (based on the campaign):


 - exfiltration-env-variables


 - The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.

Compromised versions (2)

  • 6.3.0
  • 8.8.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.