Someone just poisoned the Python package that manages AI API keys for NASA, Netflix, Stripe, and NVIDIA.. 97 million downloads a month.. and a simple pip install was enough to steal everything on your machine.
The attacker picked the one package whose entire job is holding every AI credential in the organization in one place. OpenAI keys, Anthropic keys, Google keys, Amazon keys… all routed through one proxy. All compromised at once.
The poisoned version was published straight to PyPI.. no code on GitHub.. no release tag.. no review. Just a file that Python runs automatically on startup. You didn’t need to import it. You didn’t need to call it. The malware fired the second the package existed on your machine.
The attacker vibe coded it… the malware was so sloppy it crashed computers.. used so much RAM a developer noticed their machine dying and investigated. They found LiteLLM had been pulled in through a Cursor MCP plugin they didn’t even know they had.
That crash is the only reason thousands of companies aren’t fully exfiltrated right now. If the code had been cleaner nobody notices for weeks. Maybe months.
The attack chain is the part that gets worse every sentence.
TeamPCP compromised Trivy first. A security scanning tool. On March 19. LiteLLM used Trivy in its own CI pipeline… so the credentials stolen from the SECURITY product were used to hijack the AI product that holds all your other credentials.
Then they hit GitHub Actions. Then Docker Hub. Then npm. Then Open VSX. Five package ecosystems in two weeks. Each breach giving them the credentials to unlock the next one.
The payload was three stages.. harvest every SSH key, cloud token, Kubernetes secret, crypto wallet, and .env file on the machine.. deploy privileged containers across every node in the cluster.. install a persistent backdoor waiting for new instructions.
TeamPCP posted on Telegram after: “Many of your favourite security tools and open-source projects will be targeted in the months to come.. stay tuned.”
Every AI agent, copilot, and internal tool your company shipped this year runs on hundreds of packages exactly like this one… nobody chose to install LiteLLM on that developer’s machine. It came in as a dependency of a dependency of a plugin. One compromised maintainer account turned the entire trust chain into a credential harvesting operation across thousands of production environments in hours.
The companies deploying AI the fastest right now have the least visibility into what’s underneath it.
Here's an example of Google's AI reporting security vulnerabilities in this codec:
https://t.co/z4ld1GFaIx
We take security very seriously but at the same time is it really fair that trillion dollar corporations run AI to find security issues on people's hobby code? Then expect volunteers to fix.
Our friends at dav1d showing us the value of specific domain knowledge.
dav1d was written by people in their basements, libgav1 was written by Google Engineers.
When people say we need to be more corporate, more professional, is the bottom line really what you want?
@dztenders Il semble que votre modèle d’e-mail de réinitialisation du mot de passe soit compromis. J’ai reçu un message “Binance 1,3446 BTC” dans un e-mail DZtenders envoyé via Amazon SES). Liens : votre URL de réinit. + externe (défangé) hxxp://hfexde.blogspot[.]al.
@dztenders Your password-reset email template looks compromised. I received a "Binance 1.3446 BTC" message embedded inside a DZtenders reset email sent via Amazon SES (SPF/DKIM/DMARC pass). Links included your reset URL and a defanged external: hxxp://hfexde.blogspot[.]al.
Today we're thrilled to announce our effort to port the TypeScript compiler and language service to native code, gaining a 10x speed boost in build times and editor responsiveness!
https://t.co/zxTchNDMwD
I recently learned about how freakin' awesome @astrodotbuild (#Astro) is. Would highly recommend for any FE devs who want a break from the #React#Angular framework bloat, and deploy a quick-to-build, SEO-friendly static/hybrid web app.
BONUS: You can use @typescript with it!