T09 · Insecure Skill Coding Practices
- Location
scripts/videogen.py:91- Finding
Arbitrary API Base URL Can Redirect API Credentials and User Data
- 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 it needs review because endpoint configuration and download handling can expose credentials/media or overwrite local files under hostile responses.
Review before installing. Use only with media you are willing to send to AI Hive, avoid custom base URLs unless you fully trust the endpoint, protect and rotate the API key if endpoint configuration may have been changed, and choose a dedicated output directory because hostile API responses could otherwise overwrite user-writable files until the path handling is fixed.
scripts/videogen.py:91Arbitrary API Base URL Can Redirect API Credentials and User Data
scripts/videogen.py:398Remote Task Metadata Can Escape the Output Directory During Downloads
SKILL.md:171Third-Party Dependency Is Installed Without Version or Integrity Pinning
This markdown file contains substantive skill-facing documentation entirely in Chinese, including feature descriptions and operational notes, but does not indicate that language is optional or limited to a specific locale. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation.
The skill declares no explicit tool scope while its documented behavior requires network, file read/write, environment access, and shell execution. Without a least-privilege permissions block, an orchestrator may grant broader capabilities than necessary, increasing the blast radius if the skill is mis-invoked or abused to exfiltrate local files, overwrite data, or make unintended outbound requests.
The description contains extremely broad trigger terms spanning many unrelated brands, platforms, and generic video-creation intents, making accidental activation likely. Overbroad matching can route users into a skill that uploads media, uses API credentials, and submits paid generation jobs even when the user only wanted comparison, pricing, or general discussion.
The documentation says user media will be automatically uploaded and generated files automatically downloaded/saved, but it does not prominently require informed user consent or warn about data transmission and local storage. This can expose sensitive media, audio, or embedded metadata to third-party services and persist potentially sensitive outputs on disk without the user's clear understanding.
The repeated language that the skill is 'also suitable as a search result/entry' creates ambiguous activation boundaries and encourages invocation for loosely related requests. In context, this is risky because the skill is capable of media upload, remote API calls, local file writes, and cost-incurring operations, so vague routing criteria can lead to unintended side effects.
The file is presented and packaged as a Seedance2.0 video skill, but the module actually implements a broad AI Hive client for chat, image, video, model listing, uploads, and account queries. This scope mismatch violates least privilege and can let a caller use the skill as a generic AI gateway beyond the declared purpose, increasing the attack surface and policy bypass risk.
The module docstring explicitly describes a 'general AI capability tool', contradicting the declared Seedance2.0 video-only skill intent. In this context, the mismatch is a strong indicator that the implementation may intentionally or accidentally provide broader capabilities than reviewers, orchestrators, or users expect.
The applicability statement explicitly targets '中文或英文用户', which is permissive, but the overall instructions and setup are predominantly Chinese and do not present a clear language-selection mechanism. This can be a locale-policy concern if organizational policy requires not forcing a specific language or locale without user opt-in.
The placeholder string "请替换为你的APIKey" is presented only in Chinese, which imposes a specific language in a user-facing configuration example. The policy allows locale constraints only when justified or when users are given a choice, neither of which is present here.
The skill exposes a user-info command that retrieves account and wallet details even though the declared purpose is video generation/editing. In a skill context, unrelated account-inspection capability can leak billing or identity metadata and broadens what an attacker or confused agent can do with the provided API key.
The models command enumerates TEXT, IMAGE, and VIDEO models, which exceeds the stated Seedance-specific video purpose. This can aid capability discovery and make it easier to repurpose the skill for unrelated operations, especially when combined with the generic chat/image code present in the same file.
No suspicious patterns detected.