T09 · Insecure Skill Coding Practices
- Location
scripts/videogen.py:94- Finding
AI Hive bearer credential can be transmitted to an arbitrary endpoint
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly does what it claims, but it can send the user's AI Hive API key and selected media to a caller-configurable API endpoint without validating that endpoint.
Review before installing. Use this only if you are comfortable storing an AI Hive API key locally and uploading selected listing media to AI Hive. Do not set --base-url, AI_HIVE_BASE_URL, or config base_url to an untrusted host, because the skill may send your bearer token there. Prefer an isolated Python environment and pinned dependencies if possible.
scripts/videogen.py:94AI Hive bearer credential can be transmitted to an arbitrary endpoint
SKILL.md:61Runtime dependency is installed without version or integrity pinning
The skill invokes shell commands, installs packages, uses network access, and reads/writes files, but it does not declare any explicit tool scope or permissions. This creates unnecessary ambiguity about what the skill is allowed to do and increases the risk of over-privileged execution, supply-chain exposure from pip installation, and unintended filesystem or network side effects if run by an agent framework.
The file presents itself as an eBay video skill, but it also exposes broad-purpose AI operations such as text chat, image generation, model enumeration, user-info retrieval, and generic media upload. This violates least-privilege expectations for a narrowly scoped skill and can let a caller use the skill as a general AI/API proxy, increasing the attack surface and enabling unintended access to account-backed capabilities.
The module docstring explicitly describes a general-purpose AI tool, while the embedded skill configuration claims a specialized eBay video skill. This mismatch can mislead reviewers and users about the actual capability boundary, making it easier to smuggle broader functionality into an ostensibly narrow skill and reducing effective security oversight.
The module docstring and user-facing interface text are written exclusively in Chinese, and later prompts/messages also assume Chinese-only interaction. For a general-purpose skill, this is a natural-language locale constraint without any user opt-in or explanation that the skill is region-specific.
This markdown file contains user-facing natural-language content exclusively in Chinese across the substantive changelog entries. Under the policy, forcing a specific language without user opt-in or a documented justification can be a locale-policy violation.
The description mixes in a specific Chinese-language usage cue ('Use this skill for eBay商品视频...') that steers invocation toward a particular language/locale without saying users may choose their preferred language. This can violate language/locale policy when no opt-in or region-specific justification is provided.
The example API key value includes 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 choose their preferred language, so this appears to violate the language/locale policy guidance.
No suspicious patterns detected.