T08 · Insecure Dependencies
- Location
SKILL.md:6- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:6-10
Additional Location:scripts/transcribe.py:11-16
Vulnerability Type: Unpinned dependency and unverified supply-chain artifacts
Risk Level: MediumVulnerable Code
From
SKILL.md:bash ## Requirements ```bash pip install faster-whispertext The script repeats this installation instruction: ```python try: from faster_whisper import WhisperModel except ImportError: print("Error: faster-whisper not installed") print("Run: pip install faster-whisper") sys.exit(1)Technical Analysis
The project directs users to install
faster-whisperwithout specifying an audited version, locking transitive dependencies, or verifying package hashes. Consequently, installation resolves whatever package version and dependency graph the configured Python package index provides at that time.Python package installation may execute package build or installation logic. If the package source, a release, a transitive dependency, the configured index, or the dependency-resolution process is compromised, attacker-controlled code could execute during installation or later when
faster_whisperis imported.In addition,
WhisperModel(MODEL_SIZE, ...)automatically retrieves model artifacts on first use, as documented by the project. The project does not pin a model revision or document integrity verification. This expands the external supply-chain surface, although the reviewed code contains no evidence that the model retrieval is intentionally malicious.Attack Path
- An attacker compromises a relevant package release, transitive dependency, package repository, or the user's package-index configuration.
- A user follows the documented
pip install faster-whispercommand. - Because no version or hashes are enforced, the resolver downloads the attacker-influenced artifact.
- Malicious package logic executes ...[truncated 824 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
faster-whisperto a specifically reviewed version rather than installing the latest available release:bash python3 -m pip install faster-whisper==<reviewed-version> - Generate and commit a lock file that fixes all transitive dependency versions.
- Require cryptographic hashes during installation, for example through a hash-locked requirements file and
pip install --require-hashes. - Explicitly use a trusted package index and prevent unintended fallback to untrusted or private indexes.
- Install dependencies inside an isolated virtual environment under an unprivileged account; do not run
pipasroot. - Pin trusted model identifiers and revisions where supported, and verify downloaded model artifacts using vendor-provided checksums or signatures.
- Add automated dependency vulnerability and provenance scanning to the release process.
- Update both
SKILL.mdand the error message inscripts/transcribe.pyso users receive the same hardened installation command.
- Pin
