fix: pin liteLLM <=1.82.6 to mitigate TeamPCP supply chain attack#19
Open
gn00295120 wants to merge 1 commit intoNVlabs:mainfrom
Open
fix: pin liteLLM <=1.82.6 to mitigate TeamPCP supply chain attack#19gn00295120 wants to merge 1 commit intoNVlabs:mainfrom
gn00295120 wants to merge 1 commit intoNVlabs:mainfrom
Conversation
liteLLM versions 1.82.7 and 1.82.8 were compromised by the TeamPCP group via a supply chain attack. This pins the upper bound to the last known safe version in both pyproject.toml manifests. Note: requirements.txt already pins litellm==1.76.0 (safe). The pdm.lock files resolve to 1.65.1 (safe), but the manifests allowed >=1.65.0 with no upper bound. References: - BerriAI/litellm#24512 - https://osv.dev/vulnerability/MAL-2026-2144
There was a problem hiding this comment.
Pull request overview
Pins the litellm dependency in two Python subprojects to prevent installation of compromised upstream releases, mitigating the referenced supply chain incident.
Changes:
- Add an upper bound (
<=1.82.6) to thelitellmdependency constraint intraining/rollout. - Add the same upper bound to the
litellmdependency constraint inevaluation/tau2-bench.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| training/rollout/pyproject.toml | Constrains litellm to known-safe versions by adding an upper bound. |
| evaluation/tau2-bench/pyproject.toml | Applies the same litellm upper-bound constraint to the bench project manifest. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
liteLLM versions 1.82.7 and 1.82.8 were compromised by the TeamPCP group via a supply chain attack through Trivy. The current dependency constraint allows these malicious versions to be installed.
Impact
The compromised versions steal sensitive credentials including SSH keys, AWS/GCP/K8s credentials, CI/CD tokens, and environment variables. Version 1.82.8 installs a
.pthpersistence mechanism that executes on every Python startup — even after liteLLM is uninstalled.Fix
This PR pins the upper bound of the liteLLM dependency to
<=1.82.6, which is the last known safe version before the compromise. Once BerriAI publishes a verified clean release, this upper bound can be raised.Files changed (2 pyproject.toml manifests):
training/rollout/pyproject.toml:>=1.65.0→>=1.65.0, <=1.82.6evaluation/tau2-bench/pyproject.toml:>=1.65.0→>=1.65.0, <=1.82.6Note:
requirements.txtalready pinslitellm==1.76.0(safe). Thepdm.lockfiles resolve to1.65.1(safe), but the manifests allowed unbounded upgrades.References