T09 · Insecure Skill Coding Practices
- Location
scripts/capcut_insert.py:140- Finding
API-Controlled Media Upload to Untrusted HTTPS Hosts
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent AI video-generation helper, but it needs Review because remote service responses can direct media upload hosts and influence local output paths without enough validation.
Install only if you are comfortable sending selected media and prompts to AI Hive and storing an API key locally. Use non-sensitive test media first, prefer `--no-download` or a dedicated output directory for untrusted tasks, and consider reviewing or patching host allowlisting and task ID filename validation before production use.
scripts/capcut_insert.py:140API-Controlled Media Upload to Untrusted HTTPS Hosts
scripts/capcut_insert.py:232Server-Controlled Task Identifier Enables Output Path Traversal
SKILL.md:89Unpinned Runtime Installation of a Third-Party Dependency
The skill invokes Python scripts, installs dependencies, uses environment variables, reads local files, and makes outbound network requests, but it does not declare any explicit tool scope or permissions. This creates an authorization gap where a host agent may execute broader file, shell, or network actions than a reviewer or user expects, increasing the chance of unintended data access or exfiltration if the scripts or prompts are modified or abused.
The code requests upload tokens, uploads local media, and submits generation prompts to a remote API, which transmits user content off the local system. Although the tool's purpose involves generation, the code does not visibly disclose that local files and descriptive prompt content will be sent to an external service at the points where those operations occur.
The script's descriptions, errors, help text, and status messages are consistently written in Chinese, with no option to select another language. This creates a language policy concern under the rule because the skill enforces one locale for all users without opt-in or documented justification.
The code stores the supplied API key in ~/.ai-hive/config.json and secures the file permissions, but there is no prior warning or confirmation that credentials will be persisted locally. This is a sensitive operation because it affects credential handling beyond the current session.
No suspicious patterns detected.