T08 · Insecure Dependencies
- Location
SKILL.md:254- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 254
Vulnerability Type: Unpinned and unverified package installation
Risk Level: MediumVulnerable code snippet:
shell pip install pyyamlTechnical Analysis
The Skill directs the Agent to install PyYAML without specifying an exact version, verifying a package hash, selecting a trusted package index, or requiring an isolated environment. Consequently, installation results may change over time and depend on the package repository and resolver state at execution time.
If a malicious or compromised release is selected, attacker-controlled code could execute during source-package build operations or when the installed module is imported. The instruction does not itself prove that the legitimate PyYAML package is malicious, but its unpinned and unverified supply-chain handling creates an avoidable dependency risk.
Attack Path
- A user or Agent follows the dependency installation instruction.
- The package manager resolves the latest available PyYAML release from its configured package index.
- The configured index, selected release, or dependency-delivery channel is compromised or serves an unsafe artifact.
- Attacker-controlled code executes during package build or subsequent import.
- The code operates with the same operating-system permissions and environment access as the Agent or user running the conversion workflow.
Impact Assessment
Successful exploitation could provide access to files, environment variables, credentials, and network resources available to the invoking process. It could also modify conversion results or other user-writable files. This instruction does not grant elevated privileges by itself; the maximum scope is normally limited to the permissions of the account performing installation or execution.
- Remediation
View remediation
Remediation Suggestions
- Pin PyYAML to a reviewed, exact version rather than resolving an unrestricted latest release.
- Store dependencies in a lock file or hash-locked requirements file, for example:
shell python -m pip install --require-hashes -r requirements.txt - Include approved SHA-256 hashes for every permitted distribution artifact.
- Explicitly use an organization-approved package index and disable untrusted extra indexes.
- Install dependencies inside a dedicated virtual environment with no administrative privileges.
- Prefer reviewed binary wheels where appropriate, reducing exposure to source-package build execution.
- Add automated dependency scanning and a controlled process for reviewing version upgrades.
