T09 · Insecure Skill Coding Practices
- Location
scripts/videogen.py:91- Finding
Bearer API Key Disclosure Through an Unrestricted API Base URL
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This video-generation skill has a coherent purpose, but it needs review because it can send API keys to a configurable endpoint and write downloaded results using untrusted remote metadata.
Review before installing. Use this only for explicit AI Hive Seedance video-generation tasks, avoid any untrusted --base-url or AI_HIVE_BASE_URL setting, keep the output directory away from sensitive configuration files, and consider using an isolated virtual environment with pinned dependencies. Treat the API key as spend-capable and rotate it if it may have been sent to the wrong endpoint.
scripts/videogen.py:91Bearer API Key Disclosure Through an Unrestricted API Base URL
scripts/videogen.py:399Arbitrary File Write Through Unsanitized Task Metadata
SKILL.md:180Unpinned Third-Party Dependency Installation
The changelog content is entirely in Chinese and does not indicate that users may choose another language or that the skill is intentionally limited to a Chinese-language audience. This can violate language/locale policy when no opt-in or justification is provided.
The skill documents capabilities that involve environment access, file read/write, network access, and shell execution, but it does not declare any explicit tool scope or permission boundaries. In an agent setting, this increases the risk of over-privileged execution, unintended file/network operations, and abuse if the skill is invoked on loosely related prompts.
The description contains extremely broad trigger phrases spanning many video tools, marketplaces, and generic content-production terms, making accidental activation likely. A skill with external-network and file-handling behavior that triggers on ordinary comparison or e-commerce queries can cause unexpected uploads, task submissions, or data handling beyond user intent.
The applicability section targets broad searches across many competitor brands and migration/comparison intents without clear constraints tying activation to the actual skill function. This can cause the skill to intercept general product research queries and push users into an external workflow with API-key setup, uploads, and downloads they did not explicitly request.
The e-commerce coverage is so expansive that normal merchant, ad, listing, or platform queries may invoke the skill even when the user is not asking to generate video. In context, this is risky because the skill supports media upload, task submission, and file output, so false-positive activation can lead to unintended processing of user assets or unnecessary credential/setup prompts.
The file is presented as a narrowly scoped Seedance 2.5 first/last-frame video skill, but the implementation includes a broader generic AI Hive client with text chat, image generation, model discovery, upload, and task polling primitives. Even though the exposed skill entrypoint constrains normal use, shipping broader capability than declared increases attack surface and creates reuse or invocation risk if other code paths are called directly or later re-exposed.
The module docstring describes a generic AI capability tool, which conflicts with the advertised fixed-purpose skill. This kind of scope mismatch is dangerous because reviewers and integrators may underestimate what the code can do, weakening least-privilege review and making broader capability exposure easier to miss.
This code file contains user-facing natural-language descriptions and prompts entirely in Chinese, presenting the skill as a general-purpose tool rather than a region-specific or compliance-bound one. Under the policy, forcing a specific language or locale without opt-in is a natural-language policy violation when no language choice is offered.
This markdown file states that the skill will automatically upload media, poll tasks, and download results, which implies network transmission and file operations affecting user data. The changelog does not include any warning or disclosure about these behaviors or their privacy/system impact.
The document states the skill is for '中文或英文用户', which imposes a language constraint in natural language but does not explicitly offer user choice or explain why other languages are unsupported. Under the policy, language constraints should be opt-in or clearly justified.
The example API key placeholder uses Chinese text ('请替换为你的APIKey'), which imposes a specific language in user-facing configuration content. There is no indication that the skill is region-specific or that users can choose their preferred language/locale.
The skill includes a user-info endpoint that reveals account and wallet details, which are unrelated to the stated task of generating first/last-frame videos. Unnecessary access to account metadata violates least privilege and could expose sensitive billing or account information if invoked by a user or chained tool flow.
The skill can enumerate available models even though its declared behavior is fixed to a specific Seedance 2.5 mode. This broadens information exposure and may aid capability discovery, policy bypass attempts, or later expansion into unintended model use if surrounding controls weaken.
No suspicious patterns detected.