T09 · Insecure Skill Coding Practices
- Location
scripts/ad_test_cell.py:202- Finding
Insufficient Validation of Server-Provided Upload and Download URLs
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill has a legitimate ad-image workflow, but its helper script uses broader network transfer behavior than the documentation says.
Review before installing if your product images are confidential. Use only with an AI Hive account and images you intend to send to the service, prefer a virtual environment with pinned dependencies, and consider disabling downloads or limiting the output directory until the publisher documents and restricts allowed upload/download hosts and file sizes.
scripts/ad_test_cell.py:202Insufficient Validation of Server-Provided Upload and Download URLs
SKILL.md:172Unpinned Third-Party Dependency Installation
The skill invokes a local Python script, reads local product image files, may write outputs/state, uses environment variables such as SKILL_PATH, and makes outbound network requests to an external API, yet it declares no explicit tool/permission scope. This weakens sandboxing and review because an agent may grant broader shell, file, env, and network access than users expect, increasing the blast radius if the script or skill content is modified or abused.
The file contains explicit natural-language instructions that the localized Google Display example reserve copy for a '德语批准稿' and use a '德语落地页'. Under the policy, forcing a specific language without user opt-in can be a locale-policy violation, and this example does not present an explicit language choice at the point of instruction.
This code presents its primary description and user-facing error/help text in Chinese, which effectively forces a specific language for users. Under the policy, language constraints should either be optional, user-selectable, or clearly justified as region-specific.
The example API key value uses Chinese text ('请替换为你的APIKey') in a user-facing configuration template. This imposes a specific language in natural-language content without any opt-in or explanation that the file is intended only for Chinese-speaking users.
No suspicious patterns detected.