T09 · Insecure Skill Coding Practices
- Location
scripts/videogen.py:91- Finding
Bearer API Key Can Be Disclosed to an Untrusted Configurable Endpoint
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly matches its video-generation purpose, but it needs review because it has broad activation text and weak safeguards around API keys, uploads, and downloaded files.
Install only if you intend to use AI Hive for this specific video workflow. Avoid using custom base URLs unless you fully trust them, prefer environment or config-based secret handling over command-line keys, review uploads before running generation, and choose an output directory where overwrites would not be harmful.
scripts/videogen.py:91Bearer API Key Can Be Disclosed to an Untrusted Configurable Endpoint
scripts/videogen.py:395Generated Files Can Escape the Selected Output Directory
SKILL.md:180Dependency Installation Instructions Use an Unpinned Package
The description uses very broad trigger phrases spanning generic AI video, competitor names, pricing, APIs, and migration queries, making the skill likely to activate for many loosely related requests. Overbroad activation can route unrelated user tasks into a skill that uploads media, handles credentials, and writes files, increasing the chance of unintended sensitive actions.
The applicability section massively expands scope to unrelated brands, platforms, ad products, e-commerce channels, and marketing contexts without hard boundaries. In context, this is risky because the skill is not merely informational—it can upload user media, initialize API credentials, submit jobs, and save outputs, so accidental invocation can lead to unintended data transmission and costs.
The skill documents and invokes capabilities equivalent to shell execution, network access, reading environment/configuration, and local file writes, but it declares no explicit tool scope or permission boundaries. That creates a confused-deputy risk where the agent may execute powerful actions without transparent least-privilege constraints or user-aware gating.
The skill states that it will automatically upload user media, track tasks, and download/save generated videos, but it does not prominently warn that local files will be transmitted to a remote service and that outputs will be written locally. This weakens informed consent and may expose sensitive images, videos, or filesystem contents through routine use.
The documentation walks users through obtaining, copying, and storing an API key, including browser-assisted initialization and persistent storage in config files, but does not provide strong warnings about secret handling. This increases the likelihood of credential exposure through shell history, logs, screenshots, clipboard leakage, or insecure local environments, enabling unauthorized API use and billing abuse.
The file is presented as a narrowly scoped Seedance first/last-frame video skill, but it actually embeds a full generic AI Hive client with broader capabilities. This violates least privilege and increases the attack surface: a caller or wrapper that assumes only fixed video generation may unknowingly expose model discovery, chat, image generation, and account-related operations.
The top-level docstring says this is a '通用 AI 能力调用工具' that wraps text chat, image generation, video generation, model query, media upload, and task polling. That directly conflicts with the skill's declared purpose as a fixed Seedance 首尾帧生视频 skill, because the documentation asserts a much broader intent than the actual skill manifest.
This Python file contains user-facing natural-language strings entirely in Chinese, starting from the module docstring and continuing through CLI help and prompts. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is explicitly documented and justified, which is not present here.
The presence of user-info and model-listing/discovery capabilities is unrelated to the declared purpose of generating Seedance first/last-frame videos. In a skill context, extra account/discovery functionality can leak wallet/account metadata, expose broader platform capabilities to downstream agents, and enable misuse beyond the user's expected permission scope.
Implementing generic chat and image-generation operations inside a skill marketed as fixed-function video generation creates hidden capability expansion. That makes policy enforcement harder and can let an agent repurpose the skill for unintended content generation or data handling paths that were never reviewed for this use case.
This markdown file contains user-facing natural-language content exclusively in Chinese across the substantive changelog entries. Under the policy rule for language/locale handling, forcing a specific language without opt-in or justification can be a policy violation.
No suspicious patterns detected.