T08 · Insecure Dependencies
- Location
scripts/generate_video.py:2- Finding
Unpinned Runtime Dependency Resolution
- Content
View full analysis
Vulnerability Details
File Location:
scripts/generate_video.py, lines 2-6
Vulnerability Type: Supply-chain exposure through unpinned runtime dependencies
Risk Level: MediumVulnerable Code:
python # /// script # requires-python = ">=3.10" # dependencies = [ # "requests>=2.28.0", # ]Technical Analysis
The documented execution method uses
uv run, while the script specifiesrequests>=2.28.0without an exact version, lockfile, or integrity hash. This permits dependency resolution to select future versions ofrequestsand 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
requestspackage is malicious.Attack Path
- An attacker compromises a permitted dependency release, a transitive dependency, the configured package index, or dependency-resolution infrastructure.
- The user invokes the documented
uv runcommand in an environment where the affected dependency is not already securely cached and locked. uvresolves the open-ended dependency constraint and installs the attacker-controlled package version.- Malicious package code executes when imported or otherwise initialized by the script.
- 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_KEYenvironment variable. - Video prompts and selected reference images.
- Files readable by the invoking user ...[truncated 298 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
requestsand all transitive dependencies to reviewed, exact versions. - Commit and enforce a
uv.lockfile 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.
- Pin
