T08 · Insecure Dependencies
- Location
scripts/requirements.txt:1- Finding
Dependency Installation Lacks Transitive Version Locking and Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:77-82,references/command-templates.md:13-19, andscripts/requirements.txt:1
Vulnerability Type: Third-party software supply-chain exposure
Risk Level: MediumVulnerable Code
SKILL.md:77-82:bash if `faster-whisper` import fails: ```bash # Review dependencies before installing: cat "$SKILL_DIR/scripts/requirements.txt" pip install -r "$SKILL_DIR/scripts/requirements.txt"text The executable command in this segment is: ```bash cat "$SKILL_DIR/scripts/requirements.txt" pip install -r "$SKILL_DIR/scripts/requirements.txt"references/command-templates.md:13-19:bash python3 -m venv .venv source .venv/bin/activate # Review dependencies first: cat "$SKILL_DIR/scripts/requirements.txt" pip install -r "$SKILL_DIR/scripts/requirements.txt"scripts/requirements.txt:1:text faster-whisper==1.2.1Technical Analysis
The project pins the direct
faster-whisperdependency to version1.2.1, but it does not provide a fully resolved dependency lock file or cryptographic hashes for the package artifacts and their transitive dependencies. The documentedpip install -rcommand therefore allows pip to resolve and download additional components from the configured package index at installation time.Pinning only the direct dependency does not guarantee that every transitive package, platform-specific wheel, or future resolution result is identical to the set reviewed by the project maintainers. The absence of
--require-hashesalso means downloaded artifacts are not checked against project-approved hashes.No evidence was found that
faster-whisper==1.2.1or any currently resolved dependency is malicious. The vulnerability is the lack of dependency integrity and reproducibility controls, which creates a supply-chain attack opportunity if an upstream package, artifact, package index, or dependency resolution is compromised.Attack Path
- An attacker co ...[truncated 1699 chars]
- Remediation
View remediation
Remediation Suggestions
-
Generate a fully resolved lock file that pins all direct and transitive dependencies to exact versions for each supported platform and Python version.
-
Record cryptographic hashes for every approved package artifact and install with hash enforcement, for example:
bash python3 -m pip install --require-hashes -r requirements.lock -
Use a dependency-locking tool such as
pip-tools, Poetry, or an equivalent reproducible-build workflow. Review lock-file changes before merging them. -
Document and enforce an approved HTTPS package index, such as:
bash python3 -m pip install \ --index-url https://pypi.org/simple \ --require-hashes \ -r requirements.lock -
Continue installing dependencies inside a dedicated, least-privileged virtual environment. Do not recommend installation with
sudoor an administrative account. -
Add automated dependency scanning and periodic lock-file updates to the maintenance process.
-
Where practical, verify package provenance or signatures and build releases in an isolated environment.
-
Update
SKILL.mdandreferences/command-templates.mdso their installation examples use the locked, hash-verified requirements file.
-
