T08 · Insecure Dependencies
- Location
scripts/requirements.txt:1- Finding
Unbounded Python Dependency Versions Permit Unsafe Supply-Chain Updates
- Content
View full analysis
Vulnerability Details
File Location:
scripts/requirements.txt:1-2; installation instructions atreference/evaluation.md:387-392
Vulnerability Type: Unpinned third-party dependencies
Risk Level: MediumVulnerable Code
scripts/requirements.txt:1-2:text anthropic>=0.39.0 mcp>=1.1.0reference/evaluation.md:387-392:bash pip install -r scripts/requirements.txtOr install manually:
bash pip install anthropic mcpTechnical Analysis
Both dependencies use open-ended minimum-version constraints. Consequently, installation may resolve to any later package release, including versions that were never reviewed with this project. The documented manual installation command is less restrictive still and always resolves mutable package metadata from the configured Python package index.
Python package installation can execute package build backends and installation-related code. Therefore, compromise of an allowed future release, its publishing account, the configured package index, or dependency resolution path could turn the documented setup procedure into local code execution. No lockfile, exact version constraints, or package hashes are supplied to establish reproducible and integrity-verified installations.
This is a supply-chain weakness rather than evidence that the currently named
anthropicormcppackages are malicious.Attack Path
- An attacker compromises a package publisher, package-index account, future permitted release, or dependency-resolution source.
- The attacker publishes a malicious version satisfying
anthropic>=0.39.0ormcp>=1.1.0. - A user follows the documented setup instructions and runs
pip install -r scripts/requirements.txtor the unrestricted manual installation command. - The package resolver selects and downloads the malicious release.
- Malicious build or package code executes in the installation or ...[truncated 493 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to an exact, reviewed version.
- Generate and commit a lockfile that includes transitive dependencies.
- Require cryptographic hashes during installation, for example through a hash-locked requirements file and
pip install --require-hashes. - Perform dependency updates through a reviewed process with automated vulnerability, provenance, and license checks.
- Use an isolated virtual environment or container with minimal filesystem access and no unnecessary credentials.
- Replace the unrestricted manual installation example with the same reproducible, hash-verified installation procedure.
