T08 · Insecure Dependencies
- Location
SKILL.md:35- Finding
Mutable External Repository Is Retrieved and Installed Without Integrity Verification
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This video-generation skill is not clearly malicious, but it should be reviewed because it installs mutable external code and handles scripts and license keys without adequate safeguards.
Install only if you trust the publisher and the external openclaw-video repository at install time. Avoid using sensitive, confidential, or regulated scripts because content may be sent to OpenAI or the vendor API and is also written to local logs. Treat license keys as exposed to local files, and run installation/generation in a sandbox or separate account until the repository is pinned and logging/privacy behavior is fixed.
SKILL.md:35Mutable External Repository Is Retrieved and Installed Without Integrity Verification
scripts/activate-premium.sh:120Video Scripts and License Credentials Are Stored in Plaintext
scripts/generate.sh:42User-Controlled Output Filename Allows Path Traversal and File Overwrite
The skill instructs users to submit video scripts to a locally cloned project and separately documents remote API usage, but it does not clearly and prominently disclose that user-provided script content may be transmitted to external services such as OpenAI or the vendor API. This can lead users to unknowingly send sensitive business, personal, or proprietary content off-device, creating privacy and compliance risks.
The presence of a vendor-controlled external API endpoint indicates network transmission to a third party, which is a real security concern in agent skills when user data may be uploaded. The surrounding context makes this more significant because the skill markets commercial batch processing, increasing the likelihood of bulk transmission of potentially sensitive scripts.
# 生成视频
curl -X POST https://api.video-pro.cza999.com/generate \
-H "Authorization: Bearer $LICENSE_KEY" \
-H "Content-Type: application/json" \
-d '{
The presence of a vendor-controlled external API endpoint indicates network transmission to a third party, which is a real security concern in agent skills when user data may be uploaded. The surrounding context makes this more significant because the skill markets commercial batch processing, increasing the likelihood of bulk transmission of potentially sensitive scripts.
# 生成视频
curl -X POST https://api.video-pro.cza999.com/generate \
-H "Authorization: Bearer $LICENSE_KEY" \
-H "Content-Type: application/json" \
-d '{
The batch endpoint explicitly uploads a file of scripts to an external service, which increases exposure compared with a single request because multiple user inputs may be transferred in one operation. In a commercial video-generation context, those files may contain marketing plans, internal training material, or other sensitive content, so the lack of strong disclosure and safeguards is risky.
}'
# 批量生成
curl -X POST https://api.video-pro.cza999.com/batch \
-H "Authorization: Bearer $LICENSE_KEY" \
-F "scripts=@scripts.txt" \
-F "template=education"
All prompts, status messages, and instructions are presented in Chinese, which imposes a specific language on users without opt-in. The file contains no indication that this skill is region-specific or that alternate locales are supported.
The script claims license validation could be added later, but in practice it activates any paid license whose input merely starts with "VIDEOPRO-". This means an attacker or ordinary user can self-generate arbitrary keys and unlock premium functionality without any real authorization, undermining licensing controls and any business or access restrictions tied to paid tiers.
The script stores the full license key, user name, host name, and activation log in plaintext under the user's home directory without setting restrictive permissions or warning the user. On multi-user systems, backups, logs, or malware collecting dotfiles could expose the license token and system-identifying information, enabling credential reuse or privacy leakage.
All user-facing messages, usage text, and errors in the script are written in Chinese, and there is no indication that the skill supports other languages or that Chinese is a required locale. Under the policy for natural-language constraints, forcing a specific language without user opt-in is a violation.
The script's comments, usage text, errors, and status messages are presented in Chinese throughout, which imposes a specific language on users. There is no opt-in, alternate locale support, or documentation that this skill is intentionally region-specific.
The header comment states the free version is limited to videos of at most 30 seconds. However, the implementation only performs a word-count warning at L109-L116 and still proceeds with generation, so the documented restriction is not actually enforced in code.
The documentation says the free version is restricted to 720p resolution, but no code sets, validates, or constrains output resolution. The script delegates generation to external scripts and only inspects the resulting video with ffprobe after creation.
The script appends the full user-provided SCRIPT content to a persistent log file without notice, minimization, or sanitization. This can expose sensitive prompts, proprietary text, personal data, or secrets entered by users, especially on shared systems or where logs are collected, backed up, or read by other tools.
The natural-language content prominently forces a specific language presentation for the skill. Under the policy, language constraints should either be optional for the user or clearly justified as region-specific; neither is stated here.
This manifest contains user-facing natural language in Chinese only, but does not indicate that the skill is region-specific or that users can choose another language. That can violate language/locale policy guidance when a skill implicitly forces a specific language without user opt-in.