T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:13
- Finding
- Unpinned Third-Party Dependencies Create a Mutable Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md:13-17` and `SKILL.md:56-67` **Vulnerability Type**: Unpinned Python dependencies and model artifacts **Risk Level**: Medium ### Vulnerable Code ```json "install": [ { "id": "pip", "kind": "pip", "packages": ["yt-dlp", "yt-dlp-ejs", "ffmpeg-python", "faster-whisper", "tqdm"], "label": "Install dependencies (pip)", } ] ``` ```bash pip install yt-dlp yt-dlp-ejs ffmpeg-python faster-whisper tqdm ``` ### Technical Analysis The Skill installs five Python packages without exact version constraints or cryptographic integrity hashes. As a result, each installation may resolve to different package and transitive dependency versions. Package installation can execute package build hooks or other installer-time code with the privileges of the user running the Skill installation. The documentation also states that Faster Whisper downloads model artifacts from Hugging Face on first use. No model revision or artifact hash is specified. Although there is no evidence that any named dependency is currently malicious, the effective dependency set and model artifacts can change after this Skill version has been reviewed. ### Attack Path 1. An attacker compromises a dependency, transitive dependency, package publishing account, package index, or remotely retrieved model artifact. 2. A user installs or reinstalls the Skill dependencies using the unpinned package list. 3. The package manager resolves the compromised or unsafe release because no reviewed version or hash is enforced. 4. Malicious installer or runtime code executes under the privileges of the user running the Skill. 5. The code may access files, credentials, network resources, or other data available to that user. ### Impact Assessment Successful supply-chain exploitation could provide arbitrary code execution with the privileges of the installing or executing user. The scope could in ...[truncated 243 chars]
- Remediation
- ## Remediation Suggestions - Pin every direct dependency to a reviewed, exact version. - Maintain a lock file that also constrains transitive dependencies. - Require cryptographic hashes during installation, such as through pip's `--require-hashes`. - Install only from explicitly trusted package indexes. - Audit dependency updates before changing pinned versions. - Pin Faster Whisper model identifiers to reviewed revisions and verify downloaded artifact hashes where supported. - Perform installation and execution in a restricted virtual environment or container without unnecessary credentials. - Add automated dependency vulnerability and provenance scanning to the release process.
