T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:81
- Finding
- Unpinned Third-Party Dependencies Create a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md:81-84`; also documented in `README.md:71-79` and `README.md:165-173` **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```markdown ## Requirements - yt-dlp: `brew install yt-dlp` - Whisper: `pip3 install openai-whisper` - ffmpeg: `brew install ffmpeg` ``` The README additionally recommends: ```bash brew install yt-dlp ffmpeg pip3 install openai-whisper clawhub install openai-whisper ``` ### Technical Analysis The installation instructions retrieve mutable third-party packages without pinning versions, hashes, package sources, or a reviewed ClawHub skill release. The code ultimately executes `yt-dlp`, `ffmpeg`, and `whisper`, so the integrity of these dependencies directly affects the integrity of the skill. Package managers normally install the latest release that satisfies an unpinned request. If a package publisher account, registry entry, distribution channel, or referenced ClawHub skill is compromised, later installations could retrieve code different from the version reviewed during this audit. Python packages may also execute build or installation logic during installation. ### Attack Path 1. An attacker compromises a referenced package publisher, package registry entry, distribution channel, or mutable ClawHub skill release. 2. The attacker publishes a malicious update under the expected dependency name. 3. A user follows the documented unpinned installation command. 4. The package manager downloads and installs the attacker-controlled version. 5. Malicious installation logic or substituted command-line tools execute under the user's account when installed or invoked by the skill. ### Impact Assessment Successful exploitation can provide arbitrary code execution with the privileges of the user performing the installation or running the skill. This may expose files, environment ...[truncated 209 chars]
- Remediation
- ## Remediation Suggestions - Pin every dependency to a reviewed version rather than requesting the latest release. - For Python dependencies, use a lock file or requirements file with cryptographic hashes, such as `pip install --require-hashes -r requirements.txt`. - Pin the referenced ClawHub skill version where the package manager supports version constraints. - Document the expected package registry and trusted distribution source. - Verify downloaded artifacts through checksums or package signatures where available. - Periodically review and deliberately update pinned versions after security and compatibility testing. - Avoid recommending privileged installation unless strictly necessary.
