T08 · Insecure Dependencies
- Location
SKILL.md:176- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This appears to be a real AI Hive video-generation skill, but its activation scope is much broader than its paid media-upload workflow warrants.
Install only if you intentionally want AI Hive to receive the media and prompts you provide for Seedance video generation. Avoid using it for generic AI-video research or price comparisons unless you explicitly choose to run the workflow, prefer an isolated virtual environment with pinned dependencies, and treat the local AI Hive API key as a paid credential.
SKILL.md:176Unpinned Third-Party Dependency Installation
scripts/videogen.py:649API Key Written Before Restrictive File Permissions Are Applied
The skill documents and encourages capabilities equivalent to shell execution, network access, environment/config handling, and file writes, but it does not declare any explicit tool scope or permission boundaries. In an agent setting, this weakens least-privilege controls and makes it easier for the skill to be invoked with broader-than-necessary access to local files, credentials, and network operations.
The description contains extremely broad trigger terms spanning generic AI video generation, competitor names, pricing, APIs, and e-commerce contexts, which can cause the skill to activate for loosely related requests. Over-broad routing can misdirect user intent, expose unnecessary tool use, and increase the chance that file/network-capable automation runs when a simple informational answer would have been sufficient.
The description explicitly targets '中文或英文用户' while the skill title and body are primarily Chinese, implying a default locale expectation without offering the user a language choice. Under the policy, language constraints should be opt-in or clearly justified; here the file does not state that users may choose their preferred language.
The related-tools and e-commerce sections broaden invocation scope to many brands, platforms, and business scenarios without clear boundaries or disambiguation logic. In context, this makes the skill more dangerous because it is paired with operational behaviors such as uploading media, writing config files, polling tasks, and downloading outputs, so ambiguous triggering can lead to unintended external data transfer or local side effects.
The file implements a broad, reusable AI Hive client with chat, image generation, model listing, uploads, user-info, and generic video operations, while the declared skill is narrowly scoped to Seedance audio-reference-to-video. This overbroad functionality increases the attack surface and makes it easier for downstream wrappers, maintainers, or accidental invocation paths to use capabilities outside the approved scope, undermining least-privilege and skill-boundary assumptions.
The top-level documentation presents the module as a generic AI capability invocation tool, which conflicts with the fixed skill configuration later in the file. In security-sensitive automation, misleading docs are dangerous because reviewers and integrators may trust the declared skill scope while the codebase actually contains broader capabilities that can be exposed or reused unintentionally.
The module docstring is entirely in Chinese and presents the skill as a general-purpose AI utility, while later CLI prompts and messages are also Chinese-only. For a general skill, this constitutes a language/locale policy issue because the file does not offer user opt-in or an alternative language option.
This markdown file contains user-facing natural-language content entirely in Chinese across multiple changelog entries. Under the stated policy, forcing a specific language without user opt-in can be a locale-policy violation unless the constraint is clearly documented and justified, which is not present here.
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 may use a preferred locale, so this appears to violate the language/locale policy criterion.
The code includes a user-info endpoint and CLI command that queries user information and wallet balance. That capability is not part of the manifest’s stated purpose of generating Seedance reference-audio videos and is not necessary to upload media, submit jobs, poll status, or download outputs.
No suspicious patterns detected.