pypi · Malicious package advisory
Malwareml-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.