T08 · Insecure Dependencies
Warning
- Location
- requirements.txt:1
- Finding
- Unpinned Third-Party Dependencies## Vulnerability Details **File Location**: `requirements.txt:1-2` **Vulnerability Type**: Uncontrolled third-party dependency resolution **Risk Level**: Medium ### Vulnerable Code ```text vosk pytest ``` The documented installation workflow in `README.md:9-11` installs these requirements directly: ```bash # Install dependencies pip install -r requirements.txt ``` ### Technical Analysis Neither dependency has an exact version constraint or an integrity hash. Consequently, separate installations can resolve to different package releases that were not reviewed with this Skill. This weakens build reproducibility and exposes users to future compromised, malicious, or behaviorally incompatible releases from the configured package index. `pytest` is a development and testing dependency but is included in the runtime requirements, unnecessarily increasing the production dependency and supply-chain surface. The repository does not itself retrieve remote payloads at runtime, and there is no evidence that the currently named packages are malicious. The risk arises during dependency installation because package versions and artifacts are not fixed. ### Attack Path 1. An attacker compromises a future release, maintainer account, distribution artifact, or package-resolution source for one of the declared dependencies. 2. A user follows the documented installation command: `pip install -r requirements.txt`. 3. Because no versions or hashes are specified, pip resolves and downloads the affected release available through the configured index. 4. Malicious package installation hooks, imported modules, or runtime code execute with the privileges of the user or service installing or running the Skill. 5. The resulting capabilities depend on those privileges and can include access to the Skill's files, readable user data, environment variables, and outbound network resources. ### Impact Assessment Successful exploitation could execute dependency-controlled code wi ...[truncated 595 chars]
- Remediation
- ## Remediation Suggestions 1. Pin each runtime dependency to a reviewed exact version, for example: ```text vosk==<reviewed-version> ``` 2. Generate and enforce cryptographic hashes for every resolved artifact, for example with: ```bash pip-compile --generate-hashes requirements.in pip install --require-hashes -r requirements.txt ``` 3. Move `pytest` into a separate development requirements file, such as `requirements-dev.txt`, so it is not installed in production. 4. Use an approved package index or an internally controlled artifact mirror and disable unexpected fallback indexes. 5. Add automated dependency vulnerability and provenance scanning to CI, and review dependency updates before regenerating the lock file. 6. Install and run the Skill as a dedicated, unprivileged account in an isolated environment with only the filesystem and network access needed for offline transcription.
