T08 · Insecure Dependencies
- Location
SKILL.md:19- Finding
Unpinned yt-dlp Package Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:19-24
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code Snippet:
bash # macOS brew install yt-dlp ffmpeg # Cross-platform pip install yt-dlpTechnical Analysis
The documented cross-platform installation command installs the current release of
yt-dlpand its resolved dependencies without a version constraint, lockfile, package hash, or explicit trusted package index. Consequently, the code installed when a user follows these instructions can differ from the dependency state that was reviewed during this audit.No evidence was found that the named package is malicious. Exploitation depends on a supply-chain event, such as compromise of a package release, maintainer account, package registry, or transitive dependency. If such an event occurs, installation or subsequent execution of the dependency could run attacker-controlled code under the invoking user's account.
Attack Path
- An attacker compromises a future
yt-dlprelease, one of its dependencies, a maintainer account, or the package source used by the victim. - A user follows the Skill documentation and executes
pip install yt-dlp. pipresolves the uncontrolled current package release and its transitive dependencies.- The compromised package is installed in the selected Python environment.
- Malicious code executes during an applicable installation hook or when the installed downloader is subsequently invoked by
scripts/download.py. - The payload operates with the permissions of the user who installed or ran the package.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the invoking user's privileges. The resulting scope may include access to files readable by that user, modification of writable files, use of the user's network access, theft of environment-based credent ...[truncated 311 chars]
- An attacker compromises a future
- Remediation
View remediation
Remediation Suggestions
- Pin
yt-dlpto a specifically reviewed version instead of installing an unconstrained release. - Maintain dependencies in a version-controlled requirements or lock file.
- Record and verify cryptographic hashes using a command such as
pip install --require-hashes -r requirements.txt. - Use an explicitly configured, trusted package index or an internally controlled artifact repository.
- Establish a process for reviewing, testing, and deliberately updating the pinned version.
- Document a version verification command and the expected version after installation.
- Where practical, install the dependency in an isolated virtual environment with only the permissions required to download media.
- Pin
