News for hackers. Stuff that matters.
Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by ting0 on Tuesday March 24, 2026 @02:30PM (#47507089)
I've been waiting for something like this to happen. It's just too easy to pull off. I've been hard-pinning all of my versions of dependencies and using older versions in any new projects I set up for a little while, because they've generally at least been around long enough to vet. But even that has its own set of risks (for example, what if I accidently pin a vulnerable version). Either that, or I fork everything, including all the deps, run LLMs over the codebase to vet everything.

Even still though, we can't really trust any open-source software any more that has third party dependencies, because the chains can be so complex and long it's impossible to vet everything.

It's just too easy to spam out open-source software now, which also means it's too easy to create thousands of infected repos with sophisticated and clever supply chain attacks planted deeply inside them. Ones that can be surfaced at any time, too. LLMs have compounded this risk 100x.

Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by MarsIronPI on Tuesday March 24, 2026 @03:18PM (#47507695)
> Even still though, we can't really trust any open-source software any more that has third party dependencies, because the chains can be so complex and long it's impossible to vet everything.

This is why software written in Rust scares me. Almost all Rust programs have such deep dependency trees that you really can't vet them all. The Rust and Node ecosystems are the worst for this, but Python isn't much better. IMO it's language-specific package managers that end up causing this problem because they make it too easy to bring in dependencies. In languages like C or C++ that traditionally have used system package managers the cost of adding a dependency is high enough that you really avoid dependencies unless they're truly necessary.

Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by consp on Tuesday March 24, 2026 @07:53PM (#47511287)
> Almost all Rust programs have such deep dependency trees that you really can't vet them all.

JS/TS > Screems aloud! never do "npm import [package containing entire world as dependency]"

Rust > Just import everything since rust fixes everything.

When you design your package management and doctrine like de facto javascript your have failed like javascript.

Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by what on Wednesday March 25, 2026 @12:39AM (#47513318)
Pinning doesn’t help you. They can replace the package and you’ll get the new one. You have to vendor the dependencies.
Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by davidatbu on Wednesday March 25, 2026 @05:43AM (#47515223)
I don't think pypi or npm allow replacing existing packages?
Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by ctmnt on Wednesday March 25, 2026 @06:30AM (#47515514)
They absolutely do. In this case litellm 1.82.8 had been out for at least a week (can’t recall the exact date offhand). The compromised version was a replacement.
Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by dot_treo on Wednesday March 25, 2026 @07:41AM (#47516009)
It actually wasn't. That was one of the reasons why I looked into what was changed. Even 1.82.6 is only at an RC release on github since just before the incident.

So the fact that 1.82.7 and then 1.82.8 were released within an hour of each other was highly suspicious.

Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by cpburns2009 on Wednesday March 25, 2026 @09:11AM (#47516889)
1.82.7 and 1.82.8 were only up for about 3 hours before they were quarantined on PyPI.
Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by ctmnt on Wednesday March 25, 2026 @10:04AM (#47517503)
Ah, my mistake! Thanks for the correction.

But I believe you can replace versions on both, nonetheless. It’s a multi step process, unpublish then publish again. But the net effect is the same.

Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by xenophonf on Wednesday March 25, 2026 @08:26PM (#47525236)
PyPI enforces immutable releases.

https://pypi.org/help/#file-name-reuse

> PyPI does not allow for a filename to be reused, even once a project has been deleted and recreated...

> This ensures that a given distribution for a given release for a given project will always resolve to the same file, and cannot be surreptitiously changed one day by the projects maintainer or a malicious party (it can only be removed).

Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by collinmanderson on Thursday March 26, 2026 @02:40PM (#47534105)
If you lock your dependencies, it should fail if the hash doesn't match.
Re:Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised by botch_san on Thursday March 26, 2026 @07:03PM (#47536984)
Pinning the SHA package hash would help? I am not too familiar with Python dependency management, so not sure if this is supported.