T09 · Insecure Skill Coding Practices
- Location
scripts/imagegen.py:92- Finding
Bearer Credential Disclosure Through an Unrestricted API Base URL
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is mostly a coherent AI Hive image-generation helper, but it handles API credentials and downloads remote output with under-scoped controls that merit Review before installation.
Install only if you are comfortable giving this skill an AI Hive API key, uploading selected reference media to AI Hive, and allowing it to download generated files locally. Avoid setting AI_HIVE_BASE_URL or --base-url unless you fully trust that endpoint, use a dedicated low-privilege API key if possible, run it from a contained environment, and choose an output directory where accidental overwrites would not matter.
scripts/imagegen.py:92Bearer Credential Disclosure Through an Unrestricted API Base URL
scripts/imagegen.py:405Remote-Controlled Path Traversal During Generated Media Download
scripts/imagegen.py:314Unrestricted Server-Supplied URLs Enable Server-Side Request Forgery
SKILL.md:78Unpinned Runtime Dependency Installation
The skill invokes shell commands, installs packages, reads local files, and appears to perform networked uploads, yet it declares no explicit tool scope or permission boundaries. That makes the runtime capabilities broader than the metadata suggests, increasing the chance of unintended file access, arbitrary command execution paths, or data exfiltration through image upload workflows.
The description lists many broad activation phrases such as multi-image fusion, outfit change, brand visuals, interior matching, and ad composition without defining clear trigger boundaries or exclusions. In a markdown skill description, this can make it unclear when this specific skill should activate versus other general image-editing or design skills.
Most of the user-facing instructions and examples are written in Chinese, and the file does not state that language selection is optional or region-specific. Under the policy, forcing a specific language or locale without opt-in is a natural-language policy concern.
The file is marketed as a narrowly scoped GPT Image 2 multi-reference image skill, but it actually embeds a broad general-purpose AI Hive CLI with chat, video, model enumeration, upload, and account operations. This scope expansion increases the attack surface and enables callers to invoke capabilities that were not disclosed by the skill’s stated purpose, undermining least privilege and review assumptions.
The top-level documentation describes a general AI capability tool, which conflicts with the advertised identity of a fixed GPT Image 2 multi-reference skill. Misleading documentation is dangerous in a security review context because it obscures the real scope of accessible features and can cause reviewers or orchestrators to grant trust based on false assumptions.
This code embeds its primary natural-language description and operational guidance entirely in Chinese, which effectively forces a specific language/locale for users. The file does not provide any opt-in, alternative locale, or documented justification for restricting usage to Chinese.
The skill exposes arbitrary text-chat capability despite being declared as a fixed GPT Image 2 multi-reference image tool. This allows misuse of the skill as a general LLM client, bypassing expected scope restrictions and potentially enabling prompt-based data handling or unintended API consumption outside the reviewed image workflow.
Video-generation support is unrelated to the declared GPT Image 2 multi-reference image purpose and materially broadens the skill’s capabilities. In this context, hidden multimedia generation features increase operational and security risk because reviewers and users may assume a narrower permission and cost profile than the code actually implements.
This markdown file contains user-facing natural-language content exclusively in Chinese across the substantive entries. Under the policy, forcing a specific language without user opt-in can be a locale/language policy violation unless the regional constraint is explicitly documented and justified, which is not present here.
The string literal on L2 uses Chinese text ('请替换为你的APIKey') as the only user-facing placeholder. This imposes a specific language in a user-visible configuration example without opt-in or documented locale justification, which matches the language/locale policy violation category.
Exposing user-info/account inspection in an image-generation skill is unnecessary and leaks account metadata beyond the declared function of the skill. Even if limited to the authenticated user, it widens available capabilities and may reveal wallet, identity, or subscription details to workflows that only needed image generation.
No suspicious patterns detected.