T09 · Insecure Skill Coding Practices
- Location
scripts/imagegen.py:350- Finding
Server-Controlled Task Type Permits Output-Directory Escape and File Overwrite
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This image-generation skill mostly matches its stated purpose, but its downloader trusts remote task data enough to create file overwrite and unbounded download risk.
Review before installing. Use this only if you trust the AI Hive service and are comfortable storing an API key locally, uploading selected product reference images, and saving generated outputs. Prefer running it in an isolated environment and choosing a non-sensitive output directory until the downloader validates returned URLs, enforces size limits, and prevents output-directory escape.
scripts/imagegen.py:350Server-Controlled Task Type Permits Output-Directory Escape and File Overwrite
scripts/imagegen.py:258Unrestricted API-Supplied Download URLs Enable Server-Side Request Forgery and Unbounded Downloads
SKILL.md:74Unpinned Third-Party Dependency Installation Produces a Non-Reproducible Supply Chain
The skill invokes shell commands, installs packages, reads local files, writes outputs, and makes network requests, but it does not declare any explicit tool scope or permissions boundaries. That creates unnecessary ambient authority: an agent may execute filesystem and network operations beyond what a reviewer expects, increasing the chance of unsafe execution or data exfiltration if the script or surrounding instructions are modified or abused.
The skill’s natural-language description and instructions are written entirely in Chinese and do not indicate that users may choose another language or locale. Under the policy, a language constraint should either be optional or explicitly justified; neither is stated here.
This code file contains user-facing natural-language strings and documentation exclusively in Chinese, including the module docstring and operational prompts. That can violate a language/locale policy when users are not given an explicit language choice and no region-specific justification is provided.
No suspicious patterns detected.