T08 · Insecure Dependencies
- Location
SKILL.md:345- Finding
Unpinned Third-Party Python Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 345
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: LowCode Snippet:
markdown | requests | Python library | Recommended (Python) | `pip install requests` |Technical Analysis
The Skill recommends installing the
requestspackage without specifying an exact version, package hash, or trusted package index. Consequently, the installed artifact depends on the package registry and dependency resolution state at execution time.The package name is legitimate and there is no evidence that the Skill intentionally references a malicious package. Nevertheless, an unpinned installation is not reproducible and could retrieve a compromised release, an unexpectedly incompatible future release, or content from an untrusted package index configured in the execution environment.
Because package installation and imported package code run with the invoking user's permissions, compromise of the resolved package or one of its dependencies could affect the Agent's local execution environment.
Attack Path
- An Agent or user follows the dependency setup instruction in
SKILL.md. - The command resolves the latest compatible package through the environment's configured Python package index.
- An attacker compromises an upstream release, a transitive dependency, or the configured package index.
- The package manager downloads and installs the attacker-controlled artifact because no version or hash constraint rejects it.
- Malicious code executes during package installation or when the Skill's Python examples import and use the package.
This exploitation path requires a compromised dependency source, release, transitive dependency, or local package-index configuration; none of those conditions were observed directly in the audited project.
Impact Assessment
If the dependency supply chain were compromised, malicio ...[truncated 554 chars]
- An Agent or user follows the dependency setup instruction in
- Remediation
View remediation
Remediation Suggestions
-
Pin
requestsand all transitive dependencies to reviewed versions in a lock file or requirements file. -
Record cryptographic hashes for every approved distribution and install with hash enforcement:
bash python -m pip install --require-hashes -r requirements.txt -
Configure an explicitly trusted package index rather than relying on ambient package-manager configuration.
-
Generate and review the dependency lock file through a controlled build process, and update it through regular vulnerability-review procedures.
-
Run dependency installation and the TTS workflow in an isolated, least-privileged virtual environment or container.
-
Update the documentation to reference the reviewed requirements file instead of directly recommending
pip install requests.
-
