T09 · Insecure Skill Coding Practices
- Location
scripts/imagegen.py:53- Finding
API Credential Disclosure Through an Unrestricted Base URL
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly matches its product-image purpose, but it can send the user's AI Hive API key to any configured API base URL without validation.
Review this before installing if you use real API credits or confidential product images. Use only the default trusted AI Hive base URL unless you fully control the endpoint, avoid setting AI_HIVE_BASE_URL from untrusted instructions, and consider installing dependencies in an isolated environment.
scripts/imagegen.py:53API Credential Disclosure Through an Unrestricted Base URL
SKILL.md:68Unpinned Runtime Dependency Installation
The skill invokes shell commands, installs packages, performs network access, and reads/writes files, but it does not declare any explicit tool restrictions or permissions. In an agent environment, this expands the executable surface area and can let the skill run with more capabilities than users or platform policy may expect, increasing the risk of command execution, unintended file access, and outbound data exposure.
The description uses broad trigger language such as 'Use this skill for' across many product-image scenarios without clear activation boundaries. That can cause over-invocation in unrelated contexts, leading an agent to run file/network/shell-backed workflows when the user only asked for general advice or lightweight help.
The top-level docstring describes this file as a general-purpose AI Hive tool for text chat, image generation, video generation, model queries, media upload, and task polling. However, the actual entrypoint at L843 invokes skill_main, whose parser only exposes generate/task/upload and hardcodes the model to GPT Image 2 via SKILL_CONFIG and skill_generate. This is an active documentation contradiction, not merely an omission.
The module docstring and user-facing instructions are written entirely in Chinese, and later prompts/messages also assume Chinese-speaking users. Because this file is a general-purpose image generation skill rather than a clearly region-specific compliance tool, the lack of language choice or opt-in creates a natural-language locale policy concern.
This markdown file uses only Chinese for substantive user-facing text, which can constitute a language/locale policy issue when no opt-in or scope limitation is provided. The file does not indicate that the skill is intended only for Chinese-speaking users or a China-specific audience.
The natural-language description is partially in Chinese and partially in English, but there is no statement that the user may choose the interaction language or that the bilingual format is intentional. This can create a language-policy issue if the skill appears to impose a language or locale without explicit opt-in.
The placeholder value 请替换为你的APIKey is presented only in Chinese, which imposes a specific language in user-facing configuration content. There is no indication that the skill is region-specific or that users may choose another language, so this appears to violate the language/locale neutrality policy.
The manifest presents the skill as generating ecommerce product images and photography sets from reference images. The exposed skill CLI also provides standalone task inspection and arbitrary file upload commands, which are ancillary platform operations rather than direct product-image generation behavior. While related to the backend workflow, they broaden the skill surface beyond what the manifest tells a user to expect.
No suspicious patterns detected.