T08 · Insecure Dependencies
- Location
SKILL.md:145- Finding
Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 145–150
Vulnerability Type: Unpinned and unverified third-party dependency installation
Risk Level: MediumVulnerable Code
bash # Ensure Python is available python3 --version # ... # Dependencies pip install requestsRelated dependency instructions also appear at lines 233–239:
text | Dependency | Type | Required | Installation | | LLM API | API | Required | Provided by the agent's built-in LLM | | pypdf | Python library | Required | pip install pypdf | | pdfplumber | Python library | Recommended | pip install pdfplumber | | reportlab | Python library | Optional | pip install reportlab |Technical Analysis
The Skill instructs an agent to install packages from the active Python package index without version constraints, integrity hashes, a lock file, or an approved-index restriction. Package selection and transitive dependency resolution are therefore mutable and depend on the environment's pip configuration at execution time.
If a selected package release, transitive dependency, package index, or local pip configuration is compromised, installation or subsequent import can execute attacker-controlled code with the privileges of the agent process. The
requestspackage is not needed by the demonstrated local PDF workflow, so installing it also adds avoidable dependency and network-capable attack surface.This finding does not establish that any named package is malicious. The risk arises from directing automated execution environments to install mutable, unverified dependencies.
Attack Path
- A user or agent loads the Skill and follows its environment-preparation instructions.
- The agent executes an unpinned
pip installcommand. - pip queries its configured package index and resolves the latest matching package and transitive dependencies.
- An attacker compromises a resolved release, dependency, ...[truncated 748 chars]
- Remediation
View remediation
Remediation Suggestions
- Define dependencies in a reviewed lock file or requirements file with exact versions.
- Require cryptographic hashes, such as through
pip install --require-hashes -r requirements.txt. - Restrict installation to an approved HTTPS package index and disable unintended extra indexes.
- Review and pin transitive dependencies, not only top-level packages.
- Install packages in an isolated virtual environment or sandbox with minimal filesystem and network privileges.
- Remove
requestsunless a documented feature genuinely requires it. - Prefer prebuilt, centrally vetted environments rather than allowing an agent to install dependencies dynamically.
