T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 14–17 and 31–33
Vulnerability Type: Unpinned Python dependency
Risk Level: MediumThe skill declares and recommends installing the
twelvelabspackage without constraining it to the reviewed version:yaml install: - kind: pip package: twelvelabs label: Install TwelveLabs Python SDK (pip)bash python3 -m pip install twelvelabsTechnical Analysis
Although
SKILL.mdstates that its examples target SDK version 1.2.1, the installation configuration and command do not pin that version or verify package hashes. Package resolution therefore selects whichever release the configured Python package index considers current at installation time.This makes the installed code mutable after the skill has been reviewed. If the package publisher, distribution account, package index, or dependency chain is compromised, installation could retrieve code that differs from the audited version. No malicious package or active compromise was identified in the project itself; the finding concerns avoidable supply-chain exposure.
Attack Path
- An attacker compromises a future
twelvelabsrelease, its publishing credentials, the configured package index, or a transitive dependency. - A user follows the skill configuration or runs
python3 -m pip install twelvelabs. - The package manager resolves and downloads the compromised release because no exact version or hashes are enforced.
- Attacker-controlled code executes during package installation or when the SDK is imported and used.
- That code operates with the user's privileges and may access the TwelveLabs API key, local video files, images, or other data available to the process.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of the user installing or running the skill. Potentially exposed resources include
TWELVE_LABS_API_KEY, videos and images supplied for processing ...[truncated 187 chars]- An attacker compromises a future
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to the reviewed release in both metadata and setup documentation, for example:
yaml package: twelvelabs==1.2.1bash python3 -m pip install "twelvelabs==1.2.1" - Use a reviewed lock file that pins all transitive dependencies.
- Require cryptographic hashes during installation, such as a generated requirements file used with
pip install --require-hashes. - Install from the intended authenticated package index and avoid untrusted mirrors or additional indexes.
- Perform dependency vulnerability and provenance checks before updating the pinned version.
- Run installation and skill execution in a least-privileged virtual environment or isolated container, exposing only the files and credentials required for the task.
- Pin the dependency to the reviewed release in both metadata and setup documentation, for example:
