News for hackers. Stuff that matters.
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.