T08 · Insecure Dependencies
- Location
SKILL.md:182- Finding
Unattended installation of non-locked Python dependencies
- Content
View full analysis
. Please run: pip install pyyaml jsonpath-ng jinja2 openpyxl` message when imports fail. **Auto-install policy** — when the Agent observes this exact error message, it SHOULD immediately run: ```bash pip install --quiet pyyaml jsonpath-ng jinja2 openpyxl ``` and retry `scorer.py` with the same arguments. No user consent prompt is required for these four pinned dependencies because they are part of the documented skill contract and the script's own error message names them exactly. ``` The dependency file contains ranges rather than immutable versions: ```text pyyaml>=6.0,<7.0 jsonpath-ng>=1.5.3,<2.0 jinja2>=3.1.0,<4.0 openpyxl>=3.1.0,<4.0 ``` ### Technical Analysis The Skill describes these packages as “pinned,” but the installation command does not specify versions, and `requirements.txt` only supplies version ranges without cryptographic hashes. Package resolution can therefore produce different code across executions. The Agent is explicitly instructed to perform this environment mutation without user approval. Python package installation and subsequent import both provide code-execution opportunities to package contents. Although the listed package names are established public packages and no malicious dependency is present in the repository, compromise of a permitted release, package index, or network/package-source configuration could affect the Agent environment. ### Attack Path 1. The scoring engine encounters a missing Python import. 2. It emits the documented dependency error. 3. The Agent follows `SKILL.md` and runs the unversioned `pip install` command without approval. 4. `pip` resolves ...[truncated 646 chars]- Remediation
View remediation
