T09 · Insecure Skill Coding Practices
- Location
scripts/imagegen.py:230- Finding
Unvalidated API Response Values Enable Arbitrary Outbound Requests and Path Traversal Writes
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly an AI image-generation wrapper, but it overstates its ecommerce compliance checks and has network/download handling that deserves review before installation.
Install only if you are comfortable sending product images and prompts to AI Hive and storing an API key locally. Do not rely on the skill as an automated ecommerce compliance reviewer; manually verify SKU accuracy, platform rules, and promotional claims before publishing. Prefer an isolated Python environment and a dedicated output directory until URL allowlisting, filename sanitization, download limits, clearer data-handling disclosure, and pinned dependencies are added.
scripts/imagegen.py:230Unvalidated API Response Values Enable Arbitrary Outbound Requests and Path Traversal Writes
SKILL.md:75Unpinned Third-Party Dependency Installation
The skill claims four safety/compliance gates for SKU facts, channel rules, thumbnail recognizability, and promotional compliance, but the described behavior indicates those checks are not actually implemented and prompts are merely forwarded to an image-generation backend. This is dangerous because users may rely on nonexistent validation for regulated marketplace content, leading to false assurance, policy violations, and publication of misleading or noncompliant product imagery.
The skill advertises executable capabilities involving shell, filesystem, environment access, and network access but does not declare any tool scope or permission boundaries in the skill manifest. That creates unnecessary ambiguity about what the skill may do at runtime and increases the risk of over-privileged execution, especially since it sends requests to an external API and writes local configuration/results.
The manifest description and core instructions are written as mandatory Chinese-language guidance for using the skill, with no indication that users may choose another language or locale. This can violate language/locale policy when a skill effectively constrains interaction to a specific language without opt-in.
The skill discloses that images are saved and sent to a fixed external API, but it does not specify what user-supplied images, prompts, metadata, or task artifacts are transmitted, stored, or retained. This lack of data-flow transparency can expose sensitive product assets, unpublished marketing materials, or proprietary prompts to unintended third-party processing without informed consent.
This code file contains user-facing natural-language strings and documentation entirely in Chinese, including the module docstring and CLI guidance. Under the stated policy, forcing a specific language without user opt-in is a locale/language policy violation when no alternative or opt-in mechanism is provided.
The skill is marketed as a tightly constrained ecommerce-main-image workflow with compliance checks, but the implementation exposes a generic image client that accepts arbitrary prompts, arbitrary model parameters, direct media uploads, and raw task access. This mismatch can cause operators or downstream systems to trust the skill for policy-constrained generation when no such enforcement exists, enabling bypass of expected content, branding, or compliance safeguards.
The manifest describes generating ecommerce main images, not browser automation or attribution/tracking behavior. The init flow constructs a URL containing from=cli-skill and the skill name, then launches the user's browser, which is ancillary account/onboarding behavior outside the core stated purpose.
No suspicious patterns detected.