Compromised LiteLLM 1.107.0 on PyPI Installs a Credential Stealer and Backdoor

safedep.io

352 points by abhisek 8 hours ago


rsanheim - an hour ago

This is the second significant exploit against LiteLLM in what, a year or two ? Just last night I came across notes and a script from an older claude session to help audit all project dependencies and verify nothing used litellm.

Okay, checked, it was March of this year: https://futuresearch.ai/blog/litellm-pypi-supply-chain-attac.... What even is time anymore in the llm age?

linsomniac - 4 hours ago

Just going to remind you all that https://canarytokens.org/ exists.

crossroadsguy - 4 hours ago

All the sandbox-exec and all the Lulu rules are not going to protect against something like this.

At one point permission pop-up fatigue sets in we start giving any permission as if it's normal. We also become desensitised to isntalling tools: brew, npm, it becomes second nature.

"Oh, those 367 tools installed by package X? Yeah yeah, must be normal, that's how all these work now".

"Brew shows 59 packages outdated?". "Must upgrade". "Yeah, done. Perfect".

And the advent of agents and harnesses. It's not a matter of whether, it's when! OSes need to do something about it. Help users have complete separate "program space" at ease with better, easier, and lighter VMs if nothing else. I know, I know - Unix and Linux solved all this even before Alexander III of Macedon started wearing his nappies. Of course.

pkulak - 5 hours ago

How could this happen to a project with 55k commits in three years?

threecheese - 2 hours ago

"Attackers compromised 3 unique developer github credentials" is a little scary; this seems systemic - if three developers had their keys stolen, it implies the real problem is elsewhere.

They revoked all but one developers, which is probably the right approach, but I'd pin LiteLLM to "something before this version" and keep it there until further notice!

madamelic - 5 hours ago

I am not following how someone snuck the files into the release.

All I read was that it creates a directory from the build file but seemingly no description how new files or added dependencies slipped by. Was `cook.pth` a dependency that got automatically downloaded from PyPI on install and then the build system put it into dependencies?

--

Leaving this for others:

> BerriAI’s private release pipeline built these wheels from an attacker-modified git source. The attacker could have used a compromised maintainer or bot credential, a private branch or mirror, or the reference the pipeline builds from. A stolen PyPI token used from the attacker’s own machines fits the evidence less well.

Makes sense. It was that a maintainer or the private pipeline was attacked and the malicious dependency was injected there by squatting on the maintainer's local copy rather than the dependency being hijacked for everyone. Very clever.

yujonglee - 3 hours ago

Official Incident Post: https://docs.litellm.ai/blog/security-incident-oct-21-2026

stbenjam - 6 hours ago

IMHO defaults for uv, npm, etc should all have a cooldown for 24 - 48 hours by default, you should have to go out of your way to install something newer.

saasisdead - 4 hours ago

Last time they had this, I just vibe coded a version of lite llm and it actually works better

baddash - 6 hours ago

litellm in the news again

tech_solver - 6 hours ago

its litellm again. I wonder about maintainer trustworthiness

rcleveng - 7 hours ago

Seriously again for litellm? I really with that things like Google ADK didn't add this to my deps.

hmokiguess - 5 hours ago

https://github.com/BerriAI/litellm/issues/47826#issuecomment...

> OSS Users > For the time being, please pin your version to 1.106.2 or any explicit version published prior to now.

> Enterprise Customers > There currently exists a private LiteLLM registry for enterprise customers, in which we are distributing an embargoed release that remediates a vulnerability whose disclosure date is scheduled for October 27. Our private registry is not affected. If you are an enterprise customer pulling from our private registry you are not affected.

avereveard - 5 hours ago

Again this is the second time this year

nairboon - 3 hours ago

Isn't that at least the second time that LiteLLM got compromised?

santiago-pl - 7 hours ago

I wish all the best to LiteLLM team with handling it again. I can imagine how challenging are situations like this one.

However, if anyone is looking for 20x faster and less "targeted" LiteLLM alternative - I'm work on one in Go. That's why GoModel it's called. https://github.com/ENTERPILOT/GoModel/

merelydev - 4 hours ago

A bad day for opensource, but I guess this is how we get stronger patch by patch.

infecto - 6 hours ago

Any package hosts that scan and include cooldowns by default that operate on a consumption model? The ones I have seen all charge a lot.

syntaxing - 6 hours ago

I figured LLMs nowadays would be good enough to catch issues like this. Is it because it’s too costly to do it?

1-6 - 5 hours ago

This is the 2nd time. I'm glad I moved away from this platform.

callamdelaney - 6 hours ago

Why on earth do these people make it impossible to select the title of their article?

1vuio0pswjnm7 - 5 hours ago

1792590200 | LiteLLM Hijacked: Malicious 1.107.0 Wheels Steal Credentials | https://research.jfrog.com/post/litellm-hijacked-again/ | https://news.ycombinator.com/item?id=50180838 | 0 comments

1792590232 | Litellm 1.107.0 Compromised | https://github.com/BerriAI/litellm/issues/47826 | https://news.ycombinator.com/item?id=50180845 | 0 comments

0xbadc0de5 - 7 hours ago

Again! Yikes.

jiwidi - 7 hours ago

Twice? uiuiui

- 7 hours ago
[deleted]
rvz - 7 hours ago

So in just 1 week:

1. Google Cloud Outage [0]

2. eMudhra CA private key Leak [1]

3. PingCap TiDB 10.6 TB data Leak [2]

4. PHP2Shell uncovers critical CVEs (with AI) [3]

...and now we have Round 2 of a LiteLLM compromise after the first one in [4].

[0] https://news.ycombinator.com/item?id=50163961

[1] https://news.ycombinator.com/item?id=50166579

[2] https://news.ycombinator.com/item?id=50173716

[3] https://news.ycombinator.com/item?id=50180836

[4] https://news.ycombinator.com/item?id=47501426

petesergeant - 6 hours ago

> There currently exists a private LiteLLM registry for enterprise customers, in which we are distributing an embargoed release that remediates a vulnerability whose disclosure date is scheduled for October 27.

https://github.com/BerriAI/litellm/issues/47826

oh boy. Announcing that there's a private enterprise repo you should be paying for if you don't want a credential stealer in your build is quite the optic, and then announcing there's an undisclosed second vulnerability that's being distributed, just not to the poors...

SomaticPirate - 5 hours ago

Second f**king time. Just torching their reputation at this point

abletonlive - 3 hours ago

Well it seems like it’s over for litellm. You’d have to be negligent to be using them at this point. If you’re managing this at your company good luck explaining why you should continue to use litellm after this

bcvvvy - 6 hours ago

Fuck this week.

smakosh - 4 hours ago

[flagged]

luis_valerio - an hour ago

[flagged]

azyc - 6 hours ago

[flagged]

ibraryunus - 4 hours ago

[flagged]

latencyharbor - 5 hours ago

[flagged]

News2Use - 7 hours ago

[flagged]

deployvet - 6 hours ago

[flagged]

rao-v - 4 hours ago

[dead]

Jeeetendra - 6 hours ago

[flagged]

chelseahermes - 8 hours ago

[flagged]