T08 · Insecure Dependencies
Warning
- Location
- scripts/generate_video.py:2
- Finding
- Unpinned Runtime Dependency Resolution## Vulnerability Details **File Location**: `scripts/generate_video.py`, lines 2-6 **Vulnerability Type**: Supply-chain exposure through unpinned runtime dependencies **Risk Level**: Medium **Vulnerable Code**: ```python # /// script # requires-python = ">=3.10" # dependencies = [ # "requests>=2.28.0", # ] ``` ### Technical Analysis The documented execution method uses `uv run`, while the script specifies `requests>=2.28.0` without an exact version, lockfile, or integrity hash. This permits dependency resolution to select future versions of `requests` and its transitive dependencies at execution time. Consequently, the code reviewed during the audit is not the complete immutable set of code that may execute. A compromised package release, package-index compromise, unsafe index configuration, or unexpectedly incompatible future release could introduce code that runs with the same permissions as the Skill. This is a supply-chain weakness rather than evidence that the current `requests` package is malicious. ### Attack Path 1. An attacker compromises a permitted dependency release, a transitive dependency, the configured package index, or dependency-resolution infrastructure. 2. The user invokes the documented `uv run` command in an environment where the affected dependency is not already securely cached and locked. 3. `uv` resolves the open-ended dependency constraint and installs the attacker-controlled package version. 4. Malicious package code executes when imported or otherwise initialized by the script. 5. That code runs with the user's permissions and may access data available to the video-generation process. ### Impact Assessment Exploitation would provide code execution with the privileges of the user running the Skill. Accessible assets could include: - The `SKILLBOSS_API_KEY` environment variable. - Video prompts and selected reference images. - Files readable by the invoking user ...[truncated 298 chars]
- Remediation
- ## Remediation Suggestions - Pin `requests` and all transitive dependencies to reviewed, exact versions. - Commit and enforce a `uv.lock` file rather than resolving unrestricted versions at each run. - Use package integrity hashes where supported. - Configure dependency installation to use only an explicitly trusted package index. - Perform automated vulnerability and provenance checks when updating the lockfile. - Review dependency updates before deployment and avoid automatic adoption of newly published versions. - Consider running the Skill in a restricted environment with only the filesystem and network access required for video generation.
