T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 5
Vulnerability Type: Unpinned dependency installation
Risk Level: MediumVulnerable Code
yaml metadata: {"clawdbot":{"emoji":"📥","requires":{"bins":["yt-dlp","ffmpeg"]},"install":[{"id":"apt-ffmpeg","kind":"apt","formula":"ffmpeg","bins":["ffmpeg"],"label":"Install ffmpeg (apt)"},{"id":"pip-yt-dlp","kind":"pip","formula":"yt-dlp","bins":["yt-dlp"],"label":"Install yt-dlp (pip)"}]}}Technical Analysis
The installation metadata requests the
yt-dlppackage from the configured Python package index without specifying an audited version or an integrity hash. Consequently, the code installed for this skill can change after the skill itself has been reviewed.This creates a supply-chain risk because package resolution depends on mutable external repository state. If the package index, a future release, a transitive dependency, or the local package-source configuration is compromised, installation could introduce attacker-controlled code.
Attack Path
- An attacker compromises a future
yt-dlprelease, one of its resolved dependencies, or the package source used by the environment. - The skill installation process resolves the unpinned
yt-dlppackage. - The installer retrieves the compromised package or dependency.
- Attacker-controlled package code is installed and subsequently runs during installation or normal skill use.
- That code operates with the privileges of the account performing the installation or invoking the package.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of the installing or invoking user. The resulting access may include reading or modifying that user's files, accessing available environment variables and credentials, making network requests, and altering other user-level applications. No evidence shows that this skill itself requests elevated or root privile ...[truncated 29 chars]
- An attacker compromises a future
- Remediation
View remediation
Remediation Suggestions
- Pin
yt-dlpto a specific version that has been reviewed, rather than resolving the latest available release. - Use a lock file or equivalent installation manifest containing cryptographic hashes.
- Enforce hash verification, such as pip's
--require-hashesworkflow where supported. - Retrieve packages only from an explicitly approved package index.
- Review and pin transitive dependencies when the installation method does not otherwise guarantee reproducibility.
- Run package installation and media processing under a dedicated, least-privileged account or sandbox.
- Establish a controlled update process in which dependency upgrades are reviewed and tested before deployment.
- Pin
