T09 · Insecure Skill Coding Practices
- Location
scripts/videogen.py:91- Finding
Arbitrary API endpoint can receive the bearer API key
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is mostly a Walmart video-generation wrapper, but it handles API credentials and network destinations too loosely for automatic installation.
Install only if you are comfortable giving this skill an AI Hive API key and sending selected product media to AI Hive/Seedance services. Avoid custom base URLs unless you fully control the endpoint, inspect ~/.ai-hive/config.json before use, prefer a virtual environment with pinned dependencies, and choose a bounded output directory with enough space.
scripts/videogen.py:91Arbitrary API endpoint can receive the bearer API key
scripts/videogen.py:280Server-controlled media transfer URLs are used without destination or size validation
SKILL.md:65Runtime dependency installation is not version-pinned or hash-verified
This markdown file contains operational descriptions entirely in Chinese, but does not state that the skill is intended only for Chinese-speaking users or offer any language/locale choice. Under the policy rule, forcing a specific language without documented opt-in or justified regional scope is a natural-language policy concern.
The skill invokes a Python script with package installation and task execution commands, implying shell, network, file, and environment access, but it declares no explicit tool scope or permissions boundary. In an agent environment, this can cause overbroad capability exposure, making it easier for the skill to read local files, access secrets, install packages, or make arbitrary network calls beyond the user’s intended video-generation task.
The description says "Use this skill for" followed by a wide list of video-related tasks in English and Chinese, but it does not define specific trigger phrases, activation constraints, or negative examples. In a markdown skill file, this broad natural-language phrasing can overlap with many ordinary requests about videos or retail media and may cause unintended invocation.
The file is presented as a Walmart-specific video generation/editing skill, but the implementation is a broad AI Hive client supporting generic chat, image generation, model enumeration, uploads, task polling, and account inspection. This scope mismatch violates least privilege and increases the attack surface: users invoking a narrowly branded skill may unknowingly grant access to unrelated capabilities and send data to a generic external AI service.
This code file contains natural-language descriptions and CLI guidance entirely in Chinese, including the module docstring and subsequent user-facing prompts. The skill does not offer a language/locale option or indicate that the locale restriction is intentional for a region-specific compliance purpose, which violates the language-choice policy.
Exposing user-info and wallet balance retrieval is unrelated to Walmart video editing and unnecessarily expands access to account metadata. In a skill context, this can leak sensitive billing or account details to users or downstream logs without a business need, making the overbroad functionality more dangerous because the skill is branded as a specialized media tool.
Generic text chat is outside the declared Walmart video-generation/editing scope and enables arbitrary prompt submission to the external AI provider. That broadens data exfiltration risk because users may send sensitive business content, product data, or internal instructions through a skill they reasonably expect to only perform constrained video operations.
Standalone image generation exceeds the advertised Walmart video-editing purpose and creates another unrelated path for arbitrary data submission and content generation. This hidden breadth makes the skill more risky in context because the user may not realize they are invoking a multi-capability AI gateway rather than a narrowly scoped video tool.
The description switches between English and Chinese within the same invocation text, but it does not explain whether language selection is based on user preference or whether multilingual behavior is optional. This can conflict with language/locale policy expectations when a skill implicitly forces or assumes a language without explicit opt-in.
The string value for the API key placeholder uses Chinese text ('请替换为你的APIKey'), which imposes a specific language in user-facing configuration content. For a general example config, this is a natural-language locale choice without user opt-in or documented regional justification.
The module docstring explicitly describes a generic AI capability tool, which conflicts with the claimed specialized Walmart skill identity. This kind of deceptive or misleading packaging is dangerous because it obscures the true scope of functionality and can cause users or reviewers to underestimate what data and actions the skill can access.
No suspicious patterns detected.