T08 · Insecure Dependencies
- Location
SKILL.md:92- Finding
Automatic Installation of Unpinned Runtime Dependencies
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent photo-organizing helper, but it automatically installs unpinned Python packages and uses predictable /tmp files that later influence file moves or deletions.
Review before installing. Use an isolated virtual environment with pinned dependencies, avoid the automatic pip-install snippets, and verify the exact files to be moved or deleted before approving cleanup. Prefer moving rejected photos over permanent deletion.
SKILL.md:92Automatic Installation of Unpinned Runtime Dependencies
SKILL.md:269Predictable Shared Temporary Files Permit Script or Analysis-State Tampering
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
`pip install rawpy` — add rawpy support to detect_bad_exposure.py for RAW files
### Temp Files
- `/tmp/photo_analysis.json` — full analysis results; clean up after: `rm /tmp/photo_analysis.json`
### Folder Safety
- Never delete files without explicit user confirmation
The skill's Python snippet automatically runs pip install Pillow numpy -q via os.system(...) when imports fail. That gives the skill package installation and shell execution capability during normal use, which expands its privileges beyond simple photo organization and introduces supply-chain risk from downloading and executing external code at runtime.
The blur/burst analysis script also auto-installs packages (opencv-python-headless, Pillow, imagehash, numpy) by invoking pip through the shell. This creates a runtime supply-chain exposure and permits networked code retrieval/execution in a skill whose purpose is local photo analysis, making compromise of the environment more plausible if dependency sources are tampered with or unintended packages are resolved.