T09 · Insecure Skill Coding Practices
- Location
scripts/videogen.py:86- Finding
API Credential Disclosure Through an Unrestricted Custom Base URL
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This appears to be a real Tmall video-generation skill, but it needs review because it handles API credentials and downloaded files with weak scoping safeguards.
Review before installing. Use this only with a trusted AI Hive endpoint, avoid custom base URLs unless you control them, and run it in an isolated environment because it stores an API key and writes downloaded results to disk. The publisher should validate allowed API hosts and sanitize output filenames before this is treated as low risk.
scripts/videogen.py:86API Credential Disclosure Through an Unrestricted Custom Base URL
scripts/videogen.py:367Arbitrary File Write Through Unsanitized Server-Controlled Task Type
SKILL.md:68Unpinned Third-Party Dependency Installation
This markdown file contains substantive user-facing natural-language content entirely in Chinese across the changelog entries. Under the policy, forcing a specific language without user opt-in or clear justification is a natural-language policy violation.
The skill includes executable commands that invoke Python scripts, install packages, and imply use of filesystem, environment, network, and shell capabilities, yet it does not declare any tool scope or permission boundaries. This creates an avoidable trust gap: a host agent may execute the skill with broader privileges than necessary, increasing the chance of unintended file access, network egress, or command execution if the scripts or inputs are abused.
The skill title, description, and all operational instructions are written entirely in Chinese and direct use specifically for 天猫 content, with no indication that another language is supported or that the user can opt in to Chinese-only behavior. This is a natural-language policy concern because it imposes a specific language/locale without explicit choice or a documented justification in the file.
The file implements a broad, general-purpose AI Hive client while the declared skill is narrowly scoped to Tmall video generation/editing. This creates a capability mismatch: a caller who trusts the skill metadata may unknowingly gain access to unrelated functions such as chat, image generation, model enumeration, account info lookup, and arbitrary media upload. In a skill ecosystem, hidden or unnecessary capabilities increase the attack surface and weaken least-privilege expectations.
The module docstring explicitly describes a generic AI capability caller, which contradicts the specialized Tmall video skill description. This discrepancy is a supply-chain trust problem: users and orchestrators may approve the skill based on narrow metadata while the implementation advertises and contains broader powers.
The module docstring and user-facing CLI text are written entirely in Chinese, and the skill does not state that language output is configurable or optional. This creates a natural-language policy concern because the skill effectively imposes a specific locale on users without opt-in or documented regional justification.
Exposing user-info and wallet balance retrieval is unrelated to the stated Tmall video-generation purpose and grants access to account metadata a user may not expect this skill to touch. Even if the API response is legitimate, this violates least privilege and can enable unnecessary data exposure or reconnaissance about the user's account state.
The generic text chat command is outside the advertised scope of a Tmall video editing skill and allows arbitrary prompt submission to AI models. This broadens the skill from a constrained media workflow into a general AI interface, increasing the risk of misuse, data leakage through prompts, and policy circumvention via undeclared functionality.
Standalone image generation exceeds the stated video-generation/editing scope and gives the skill a second content-generation surface not implied by the metadata. In a marketplace or agent setting, this mismatch can be abused to perform undeclared actions, consume credits, or handle inputs that the user did not intend to expose to this skill.
The placeholder value for the API key includes Chinese text ('请替换为你的APIKey'), which imposes a specific language in a user-facing example. The file does not offer a language choice or document that the skill is intended only for Chinese-speaking users or a China-specific environment.
No suspicious patterns detected.