T08 · Insecure Dependencies
- Location
SKILL.md:74- Finding
Unpinned Runtime Dependency Installation
- Content
View full analysis
" [options] ``` The installed package is subsequently imported by `scripts/transcribe.py:48-54`: ```python try: from faster_whisper import WhisperModel except ImportError: print("ERROR: faster-whisper not installed.", file=sys.stderr) print("Run with: uv run --with faster-whisper python3 scripts/transcribe.py ...", file=sys.stderr) return 1 ``` ### Technical Analysis The documented command asks `uv` to resolve and execute `faster-whisper` without specifying an audited version or enforcing an integrity hash. Consequently, package behavior may change between executions. If the package or one of its transitive dependencies is compromised upstream, malicious package code may execute when the package is imported or used. The risk is amplified because the instructions also ask the user to grant Full Disk Access to the terminal. Resolving dependencies in the same privileged execution context gives third-party package code access to the terminal process's effective permissions. The audit did not find evidence that `faster-whisper` itself is malicious. The vulnerability is the absence of reproducible dependency pinning and integrity verification. ### Attack Path 1. An attacker compromises a future release of `faster-whisper` or one of its transitive dependencies. 2. The user runs the documented `uv run --with faster-whisper ...` command. 3. `uv` resolves and installs the compromised dependency because no version or hash is pinned. 4. `scripts/transcribe.py` imports `WhisperModel` from the installed package. 5. Attacker-controlled initialization or runtime code executes with the terminal process's permissions. 6. If the terminal has Full Disk Access, the malicious dependency may read or modify unrelated p ...[truncated 414 chars]- Remediation
View remediation
