T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:16
- Finding
- Unpinned Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 16-22 **Vulnerability Type**: Unpinned and unverified third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```text **yt-dlp** must be installed: ``` yt-dlp --version # Install if missing pip install yt-dlp # cross-platform winget install yt-dlp # Windows brew install yt-dlp # macOS sudo apt install yt-dlp # Debian/Ubuntu ``` ``` ### Technical Analysis The Skill instructs the Agent to install `yt-dlp` from external package repositories without pinning a reviewed version or requiring package signature, checksum, or source verification. The effective installed content can therefore change after the Skill has been audited. The `pip install yt-dlp` command resolves mutable content from the configured Python package index and does not use a version constraint or hash. The `winget`, Homebrew, and APT alternatives similarly do not identify an approved version. In addition, `sudo apt install yt-dlp` may run package installation operations with elevated privileges. No evidence shows that the named `yt-dlp` package is currently malicious. The risk arises from unsafe dependency acquisition: compromise of an upstream release, package repository, mirror, local package-manager configuration, or dependency chain could cause attacker-controlled code to be installed or executed. ### Attack Path 1. A user asks the Agent to download a supported video. 2. The Agent checks for `yt-dlp` and determines that it is unavailable. 3. Following the Skill, the Agent invokes one of the unpinned package installation commands. 4. A compromised package release, repository, mirror, configured package source, or transitive dependency supplies attacker-controlled content. 5. Malicious installation or runtime code executes under the account that invoked the package manager. 6. If installation is performed through the documented `su ...[truncated 817 chars]
- Remediation
- ## Remediation Suggestions - Do not install dependencies automatically. Ask for explicit user confirmation before changing the environment. - Pin `yt-dlp` to a reviewed version rather than resolving the latest available release. - For Python installation, use an approved lock file or a pinned requirement with cryptographic hashes, such as `--require-hashes`. - Restrict installation to explicitly trusted package indexes and repositories. - Verify available publisher signatures, repository metadata, checksums, or release attestations before installation. - Prefer an isolated virtual environment or sandbox instead of installing into the global Python or system environment. - Avoid privileged installation where a user-scoped installation is sufficient. Never invoke `sudo` automatically. - Document a vetted installation procedure separately for each supported platform. - Require separate, explicit user consent before accessing browser cookies, and limit cookie access to cases where authenticated content is genuinely required.
