T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:202
- Finding
- Unpinned Runtime Installation of Third-Party Dependencies## Vulnerability Details **File Location**: `SKILL.md`, lines 202–205 **Vulnerability Type**: Unpinned third-party dependencies installed at runtime **Risk Level**: Medium ### Vulnerable Code ```markdown | pandas | Python library | Optional | `pip install pandas` | | numpy | Python library | Optional | `pip install numpy` | | scipy | Python library | Optional | `pip install scipy` (required for hypothesis testing) | | statsmodels | Python library | Optional | `pip install statsmodels` (required for advanced statistics) | ``` The displayed English labels are translations of the original table; the installation commands are reproduced verbatim. ### Technical Analysis The Skill recommends installing four third-party Python packages without pinning reviewed versions or requiring integrity hashes. It also provides no lockfile, trusted package-index configuration, or artifact-verification procedure. Consequently, the installed artifacts may differ from those available when the Skill was audited. Python package installation can execute package-controlled build or installation logic. This creates a supply-chain exposure if a package release, transitive dependency, configured package index, or package-resolution environment is compromised. The reviewed instructions name established packages rather than apparent typosquatted packages, and installation is optional. No malicious dependency or active compromise was identified. The finding concerns the unsafe dependency-resolution practice itself. ### Attack Path 1. A user requests an analysis that requires one of the optional statistical libraries. 2. The Agent follows `SKILL.md` and invokes an unpinned `pip install` command. 3. `pip` resolves the current package and transitive dependencies using the environment's configured indexes. 4. An attacker-controlled artifact is selected due to a compromised release, dependency, index, mirror, or resolution configuration. 5. Malicious installation or runtime code executes ...[truncated 594 chars]
- Remediation
- ## Remediation Suggestions 1. Pin every direct dependency to a reviewed version rather than installing the latest available release. 2. Maintain a lockfile that records exact transitive dependency versions. 3. Require package hashes, such as with `pip install --require-hashes -r requirements.txt`. 4. Explicitly use a trusted HTTPS package index and prevent fallback to untrusted mirrors or extra indexes. 5. Install dependencies inside an isolated, least-privileged virtual environment or container. 6. Require explicit user approval before installing or upgrading packages. 7. Scan and periodically review pinned packages and their transitive dependencies for known vulnerabilities. 8. Prefer prebuilt, internally reviewed environments for automated or sensitive-data analysis.
