T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:49
- Finding
- Unpinned Third-Party Python Dependencies## Vulnerability Details **File Location**: `SKILL.md`, lines 49–52 **Vulnerability Type**: Unpinned third-party dependencies and missing integrity verification **Risk Level**: Medium ### Vulnerable Code ```bash python3 -m venv .venv source .venv/bin/activate pip install -U pip pip install numpy matplotlib pillow requests ``` ### Technical Analysis The installation instructions retrieve the latest available versions of `numpy`, `matplotlib`, `pillow`, and `requests` without version constraints or cryptographic hashes. They also upgrade `pip` without pinning or integrity verification. Because dependency resolution is not reproducible, future executions may install dependency versions that were not reviewed with the Skill. If an upstream package or release channel is compromised, following the documented runbook could install attacker-controlled package code. Python packages may execute code during installation or when imported by `scripts/terrain_route_video.py`. This is a supply-chain weakness rather than evidence that any currently named dependency is malicious. ### Attack Path 1. An attacker compromises an upstream package account, distribution artifact, or package-delivery channel for one of the unpinned dependencies. 2. The attacker publishes or substitutes a malicious release that satisfies the unrestricted package name. 3. A user follows the Skill's documented installation instructions. 4. `pip` resolves and downloads the attacker-controlled release because no approved version or hash is enforced. 5. Malicious code executes during installation or when the route-video script imports the affected package. ### Impact Assessment Malicious dependency code would execute with the privileges of the user running `pip` or the Skill. Depending on those privileges, it could access that user's files and environment variables, alter generated artifacts, make arbitrary network requests, or execute additional local commands. The reviewed Skill does not itself r ...[truncated 130 chars]
- Remediation
- ## Remediation Suggestions 1. Create a reviewed lock file containing exact versions for all direct and transitive dependencies. 2. Record SHA-256 hashes for every permitted distribution and install with hash enforcement: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` 3. Pin the packaging toolchain instead of using an unrestricted `pip install -U pip`. 4. Generate locks separately for supported Python versions and operating systems when platform-specific wheels differ. 5. Periodically scan and deliberately update locked dependencies after reviewing security advisories and compatibility. 6. Use a trusted package index explicitly where deployment policy requires it, and preserve provenance information for approved artifacts.
