T08 · Insecure Dependencies
- Location
scripts/local-stt.py:1- Finding
Automatic Execution of Unpinned Third-Party Dependencies
- Content
View full analysis
=3.12" # dependencies = [ # "onnx-asr", # "onnxruntime", # "huggingface_hub", # "click", # "requests", # ] ``` ### Technical Analysis The script uses `uv run --script` to resolve and execute third-party packages without exact version constraints or cryptographic hashes. Dependency resolution can therefore select newer package releases that were not present during the security review. This creates a supply-chain risk because package installation and import-time initialization occur within the Skill's execution context. If a listed package, its transitive dependencies, or the relevant package registry is compromised, malicious code could execute when the Skill is invoked. ### Attack Path 1. An attacker compromises a listed dependency, one of its transitive dependencies, or its package registry entry. 2. The attacker publishes a malicious release that still satisfies the unrestricted dependency declaration. 3. A user invokes `local-stt.py`. 4. `uv` resolves or installs the malicious release. 5. Malicious initialization or imported package code executes with the permissions of the Skill process. 6. The malicious package can inspect audio files, transcripts, environment variables, and other resources accessible to that process. ### Impact Assessment Successful exploitation permits arbitrary Python code execution with the privileges of the user running the Skill. The accessible scope may include input audio, generated transcripts, local files readable by the user, process environment variables, and Matrix credentials if the Matrix functionality is used. This does not itself grant elevated operating-system privileges, but it exposes the full authority already available to the Skill ...[truncated 15 chars]- Remediation
View remediation
