T08 · Insecure Dependencies
- Location
SKILL.md:77- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 77-82
Vulnerability Type: Unpinned and unverifiable third-party dependency
Risk Level: MediumVulnerable Code
bash pip install litellm # Set provider keys (or configure in proxy) export OPENAI_API_KEY="sk-..." export ANTHROPIC_API_KEY="sk-..."Technical Analysis
The setup instructions install
litellmwithout specifying a reviewed version, cryptographic hashes, a lockfile, or a trusted package index. Consequently, the resolved package is mutable and may differ between installations.Python package installation can execute package-controlled build or installation logic. After installation, the helper imports and executes the dependency in
scripts/llm_call.py. Because LiteLLM processes prompts, proxy configuration, and provider credentials, a compromised or malicious release could intercept this sensitive information or execute arbitrary code under the installing user's account.This is a supply-chain weakness rather than evidence that the current LiteLLM package is malicious.
Attack Path
- An attacker compromises the upstream package, a maintainer account, or the package distribution channel.
- The attacker publishes a malicious release that satisfies the unrestricted
pip install litellminstruction. - A user follows the documented setup instructions and retrieves the mutable latest release.
- Malicious code executes during package installation, import, or a subsequent
litellm.completion()call. - The malicious dependency can access data and capabilities available to the process, potentially including LLM prompts, API credentials, proxy credentials, files readable by the user, and outbound network access.
Impact Assessment
Successful exploitation would execute code with the privileges of the user performing the installation or running the helper. The affected scope may include:
- Exposure of OpenAI, Anthropic, or LiteLLM proxy credentials availabl ...[truncated 394 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin LiteLLM to a specifically reviewed version rather than resolving the latest release:
text litellm==<reviewed-version> - Maintain dependencies in a version-controlled lockfile or requirements file containing cryptographic hashes.
- Install with hash verification enabled:
bash python -m pip install --require-hashes -r requirements.txt - Generate hashes only from reviewed artifacts obtained through a trusted package index.
- Document the expected package index and prevent fallback to untrusted or unintended repositories.
- Recommend installation in a dedicated virtual environment with minimal filesystem and credential access.
- Periodically review and deliberately update the pinned version after checking release provenance, security advisories, and dependency changes.
- Pin LiteLLM to a specifically reviewed version rather than resolving the latest release:
