LiteLLM 1.107.0 stole credentials from every Python process. I checked PyPI and reproduced the mechanism with a canary SafeDep disclosed that LiteLLM 1.107.0, published to PyPI on October 21, was backdoored with a credential stealer and remote-code-execution payload that executed in every Python process on a host, not just those importing the library. The malicious release was removed from PyPI roughly two hours after upload, and pip install litellm now resolves to 1.106.2. A reproduction with a benign canary confirmed that a planted .pth file and sitecustomize.py cause code to run at interpreter startup even when litellm is never imported. This morning, SafeDep disclosed that LiteLLM 1.107.0 — published on PyPI today, October 21 — was backdoored. Not "had a vulnerability." Every one of its seven wheels installed a credential stealer and a remote-code-execution backdoor into site-packages , arranged so that both run every time any Python process starts on the host, including processes that never import litellm. LiteLLM is the library a lot of teams use to route calls to LLM providers — which means its proxy databases are exactly where organizations keep their provider API keys. The stealer knew that: among its targets, per SafeDep's analysis, are SSH keys, cloud credentials ~/.aws , Azure, gcloud, kubeconfig , browser passwords and history, shell histories, CI/CD secrets, AI-tool configs Claude Code, Cursor, Codex, and more , the environment of other processes via /proc/