T08 · Insecure Dependencies
- Location
SKILL.md:35- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Locations:
SKILL.md:35-39SKILL.md:134eval-reference.md:74-76rag-reference.md:5troubleshooting.md:52
Vulnerability Type: Unpinned and unverified third-party dependencies
Risk Level: MediumVulnerable Code
bash pip install evalscope pip install 'evalscope[all]' pip install 'evalscope[perf]' pip install 'evalscope[rag]' pip install 'evalscope[service]'Other documented installation commands include:
bash pip install 'evalscope[opencompass]' pip install 'evalscope[vlmeval]' pip install 'evalscope[rag]'Technical Analysis
The Skill instructs users or an Agent to install EvalScope and several optional dependency sets from the active Python package index without version constraints, package hashes, a lockfile, or an explicitly trusted repository. The broad
evalscope[all]extra also expands the number of transitive packages trusted during installation.Because these package references are mutable, the code installed when the instructions are followed may differ from the code reviewed when the Skill was audited. Python packages and their build systems may execute code during installation or later import. A compromised upstream release, compromised transitive dependency, or malicious package supplied by an untrusted configured index could therefore result in arbitrary code execution.
No evidence establishes that the named packages are currently malicious. The issue is the absence of supply-chain integrity controls in the documented installation process.
Attack Path
- An attacker compromises an upstream package, one of its transitive dependencies, or a Python package index configured in the execution environment.
- The attacker publishes a malicious release that satisfies the unconstrained package requirement.
- A user or Agent follows the Skill instructions and runs an unpinned
pip installcommand. - Pip downloads the mutable package and dependency set without va ...[truncated 824 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin EvalScope and every optional package set to reviewed versions.
- Maintain a lockfile containing resolved transitive versions and cryptographic hashes.
- Install with hash verification, such as
pip install --require-hashes -r requirements.txt. - Configure and document an explicitly trusted package index rather than relying on the environment's active index configuration.
- Install packages inside a dedicated virtual environment or restricted container.
- Avoid the broad
[all]extra unless every included backend is required; install only the minimum necessary feature set. - Regularly scan locked dependencies for known vulnerabilities and review version changes before updating.
- Avoid running package installation as root or from an account holding production credentials.
