T08 · Insecure Dependencies
- Location
SKILL.md:62- Finding
Unpinned Third-Party Transcription Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 62–64
Vulnerability Type: Unpinned third-party dependencies
Risk Level: MediumVulnerable Code
text 1. `mlx-whisper` — Apple Silicon native, fastest on Mac (pip install mlx-whisper) 2. `faster-whisper` — CTranslate2 backend, fast on CUDA/CPU (pip install faster-whisper) 3. `openai-whisper` — Original Whisper, universal fallback (pip install openai-whisper)Technical Analysis
The documentation instructs users to install Python packages without exact version constraints, integrity hashes, or a reviewed lockfile. These commands resolve the latest package versions and their transitive dependencies from the user's configured Python package index at installation time.
Consequently, the effective dependency code can change after the Skill has been audited. If a named package, transitive dependency, maintainer account, or configured package index is compromised, installation or subsequent import of the affected dependency could execute attacker-controlled code. The project does not provide reproducible dependency metadata that would allow users to verify that they are installing the versions reviewed by the Skill author.
The transcription dependencies are legitimate and necessary for the local Whisper fallback, but allowing unrestricted versions exceeds the minimum supply-chain trust required to provide that functionality.
Attack Path
- An attacker compromises a listed package, one of its transitive dependencies, or a package-index source configured on the target system.
- The attacker publishes a malicious release that remains compatible with the unpinned package name.
- A user follows one of the documented
pip installinstructions. - The package manager resolves the malicious release because no exact version or integrity hash is required.
- Attacker-controlled code executes during package installation or when `scripts/transcri ...[truncated 984 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin each supported backend to an exact, reviewed version instead of installing an unrestricted latest release.
- Provide a version-controlled requirements file or lockfile that also constrains transitive dependencies.
- Record cryptographic hashes for all distributions and require verification with a command such as
pip install --require-hashes -r requirements.txt. - Prefer a trusted package index explicitly documented by the project, and warn users against untrusted mirrors or extra indexes.
- Review package provenance, release signatures where available, maintainer history, and dependency changes before updating pinned versions.
- Test dependency updates in an isolated environment before publishing a new lockfile.
- Recommend installation in a dedicated virtual environment with only the filesystem and network access required for transcription.
- Keep the three Whisper backends optional so users install only the backend needed for their hardware, reducing dependency and attack surface.
