T08 · Insecure Dependencies
- Location
SKILL.md:52- Finding
Unpinned Dependency Installation Into the System Python Environment
- Content
View full analysis
/dev/null && "$cmd" -c "import sys; exit(0 if sys.version_info >= (3,8) else 1)" 2>/dev/null; then PYTHON_CMD="$cmd" break fi done if [ -z "$PYTHON_CMD" ]; then echo "ERROR: Python 3.8+ not found." echo "Install on macOS: brew install python3 or visit https://www.python.org/downloads/" exit 1 fi echo "Found Python: $PYTHON_CMD ($($PYTHON_CMD --version))" $PYTHON_CMD -m pip install -q --break-system-packages python-pptx echo "Dependencies ready." ``` The same general installation pattern also appears in `workflow_local.md:10`: ```bash pip install python-pptx ``` ### Technical Analysis The Skill instructs the Agent to install `python-pptx` without an exact version or package hash. Resolution therefore depends on the package index and dependency graph available when the Skill executes. A future compromised release, malicious mirror, altered pip configuration, or compromised transitive dependency could introduce executable code that was not present during this audit. The `--break-system-packages` option bypasses Python distribution protections and allows pip to modify an externally managed interpreter. This unnecessarily expands the impact beyond an isolated Skill environment and can overwrite or conflict with packages used by other applications. Installation is described as an environment check that should always run, meaning dependency mutation may occur even when the selected operation does not require a new installation. ### Attack Path 1. A user activates the Skill. 2. The Agent follows the mandatory environment-check instructions. 3. Pip resolves the unpinned package and transitive dependencies using t ...[truncated 993 chars]- Remediation
View remediation
