logoalt Hacker News

Compromised LiteLLM 1.107.0 on PyPI Installs a Credential Stealer and Backdoor

370 points • by abhisek • today at 2:00 PM • 121 comments • view on HN

Comments

linsomniac • today at 5:48 PM

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

➕ show 1 reply
rsanheim • today at 8:21 PM

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?

➕ show 1 reply
crossroadsguy • today at 5:44 PM

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.

➕ show 5 replies
pkulak • today at 5:09 PM

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

➕ show 3 replies
threecheese • today at 7:19 PM

"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 • today at 4:30 PM

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.

➕ show 1 reply
stbenjam • today at 3:18 PM

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.

➕ show 7 replies
saasisdead • today at 5:30 PM

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

➕ show 2 replies
tech_solver • today at 3:39 PM

its litellm again. I wonder about maintainer trustworthiness

baddash • today at 3:50 PM

litellm in the news again

➕ show 1 reply
rcleveng • today at 2:59 PM

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

➕ show 2 replies
hmokiguess • today at 4:14 PM

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.

➕ show 1 reply
avereveard • today at 5:08 PM

Again this is the second time this year

nairboon • today at 6:59 PM

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

➕ show 1 reply
santiago-pl • today at 3:05 PM

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/

➕ show 2 replies
merelydev • today at 5:45 PM

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

infecto • today at 3:40 PM

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.

➕ show 6 replies
syntaxing • today at 3:53 PM

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

➕ show 1 reply
callamdelaney • today at 3:23 PM

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

➕ show 1 reply
1-6 • today at 4:22 PM

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

1vuio0pswjnm7 • today at 4:40 PM

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 • today at 3:07 PM

Again! Yikes.

jiwidi • today at 3:06 PM

Twice? uiuiui

rvz • today at 2:56 PM

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

➕ show 2 replies
petesergeant • today at 3:21 PM

> 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...

➕ show 2 replies
SomaticPirate • today at 4:26 PM

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

abletonlive • today at 6:56 PM

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 • today at 3:57 PM

Fuck this week.

➕ show 2 replies
smakosh • today at 6:01 PM

[flagged]

luis_valerio • today at 8:35 PM

[flagged]

azyc • today at 3:50 PM

[flagged]

latencyharbor • today at 4:38 PM

[flagged]

ibraryunus • today at 5:23 PM

[flagged]

News2Use • today at 3:07 PM

[flagged]

deployvet • today at 3:11 PM

[flagged]

rao-v • today at 5:13 PM

[dead]

Jeeetendra • today at 3:24 PM

[flagged]

chelseahermes • today at 2:02 PM

[flagged]