T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:10
- Finding
- Unpinned Third-Party Executable Dependency## Vulnerability Details **File Location**: `SKILL.md:10` **Vulnerability Type**: Unpinned and unverified third-party dependency **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"clawdbot":{"emoji":"📺","requires":{"bins":["yt-dlp"]},"install":[{"id":"brew","kind":"brew","formula":"yt-dlp","bins":["yt-dlp"],"label":"Install yt-dlp (brew)"},{"id":"pip","kind":"pip","package":"yt-dlp","bins":["yt-dlp"],"label":"Install yt-dlp (pip)"}]}} ``` ### Technical Analysis The Skill declares installation of `yt-dlp` through Homebrew or pip without specifying an audited version or requiring package integrity verification. Consequently, the code that is installed and executed can change after the Skill itself has been reviewed. This creates a supply-chain exposure: if the upstream package, its distribution account, package repository, or a transitive dependency is compromised, installation may introduce malicious code. The script subsequently invokes the resolved `yt-dlp` executable by name, so any compromised package implementation would execute during normal transcript retrieval. ### Attack Path 1. An attacker compromises an upstream `yt-dlp` release, its package publication process, or an applicable transitive dependency. 2. A user installs the dependency using the unpinned Homebrew or pip declaration. 3. The package manager resolves and installs the compromised version. 4. Malicious installation code may execute immediately, or malicious runtime code is installed as the `yt-dlp` executable. 5. When `scripts/get_transcript.py` invokes `yt-dlp`, the attacker-controlled code executes with the privileges of the user running the Skill. ### Impact Assessment Successful exploitation could permit arbitrary code execution under the installing or running user's account. The resulting scope could include access to that user's files, environment variables, network connectivity, and any credentials available to the process. Thi ...[truncated 189 chars]
- Remediation
- ## Remediation Suggestions - Pin `yt-dlp` to a specifically reviewed version rather than accepting the latest available release. - For pip-based installation, use a locked requirements file with cryptographic hashes and enforce installation with `--require-hashes`. - Use only trusted official package repositories and prevent fallback to untrusted indexes or mirrors. - Where supported, verify package signatures or distribution checksums before installation. - Review new dependency versions before updating the pin and document a controlled update process. - Run dependency installation and transcript processing inside a restricted environment with minimal filesystem, credential, and network access.
