Back to skill

Security audit

Video Generator | 视频生成器

Security checks for vulnerabilities and agentic risk

Overview

This video-generation skill has a coherent purpose, but its instructions include unsafe credential handling and overly broad execution guidance that users should review before installing.

Install only if you are comfortable with cloud providers receiving script text and generated audio, and avoid following the unsafe troubleshooting step that prints .env. Prefer the pinned npm package, do not clone mutable branches unless you verify the commit, keep provider credentials scoped and revocable, and require explicit confirmation before the agent installs software or sends content to external APIs.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (3)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:334
Finding

Plaintext Disclosure of Cloud API Credentials During Troubleshooting

Content
View full analysis
.env chmod 600 .env ``` ### Technical Analysis The troubleshooting procedure prints the complete `.env` file using `cat`. This file is explicitly documented as containing OpenAI, Azure, Aliyun, or Tencent cloud credentials. Although file permissions are later set to mode `600`, those permissions only control direct filesystem access. They do not prevent disclosure after the file is printed. Its contents may become visible through: - Agent tool output and conversation context - Terminal recording or command-output capture - CI/CD and diagnostic logs - Screen sharing or shoulder surfing - Monitoring systems that retain process output Displaying secret values is not required to determine whether a provider is configured. The Skill could verify the presence of expected variable names or perform an authentication test without exposing their values. Consequently, this behavior exceeds the minimum access necessary for troubleshooting. ### Attack Path 1. A user stores valid cloud credentials in `~/openclaw-video-generator/.env`. 2. Video generation fails because of an unrelated configuration or provider error. 3. The Agent follows the documented troubleshooting procedure and executes `cat ~/openclaw-video-generator/.env`. 4. The complete credentials are returned in terminal or Agent tool output. 5. An individual or system with access to the captured output retrieves the credentials. 6. The exposed credentials are reused to invoke cloud APIs or access resources allowed by their assigned permissions. ### Impact Assessment An attacker could obtain the authority granted to the exposed provider credentials. Potential impact includes: - Unauthorized TTS or ...[truncated 418 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Error
Location
SKILL.md:171
Finding

Mutable and Unpinned External Dependencies Are Installed and Executed

Content
View full analysis
Remediation
View remediation
``` - Verify the checked-out commit before installing dependencies. - Commit a lockfile and use `npm ci` rather than unconstrained `npm install`. - Review all lifecycle scripts and consider installing with `--ignore-scripts` when scripts are not required. - Avoid global installation where a project-local installation is sufficient. - Align `README.md`, `SKILL.md`, `SKILL-EN.md`, and `SKILL-ZH.md` on one package name, repository, version, and full commit identifier. - Re-audit and republish the Skill whenever the pinned dependency version changes. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
SKILL-EN.md:97
Finding

User-Controlled Video Script Text Is Interpolated Into Shell Commands

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (25)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 176)May include surrounding context.

npm install

Configure provider

cp .env.example .env nano .env # Add your API key chmod 600 .env

text

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 177)May include surrounding context.

npm install

Configure provider

cp .env.example .env nano .env # Add your API key chmod 600 .env

text

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 178)May include surrounding context.

npm install

Configure provider

cp .env.example .env nano .env # Add your API key chmod 600 .env

text

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 243)May include surrounding context.

npm install

Configure provider

cp .env.example .env nano .env # Add your API key chmod 600 .env

text

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 339)May include surrounding context.

npm install

Configure provider

cp .env.example .env nano .env # Add your API key chmod 600 .env

text

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 340)May include surrounding context.

npm install

Configure provider

cp .env.example .env nano .env # Add your API key chmod 600 .env

text

Missing User Warnings

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The troubleshooting section instructs the user to run 'cat ~/openclaw-video-generator/.env', which directly prints secrets such as API keys to the terminal and potentially into agent logs, chat transcripts, shell history capture tools, or screen recordings. Because this skill explicitly manages multiple provider credentials, this is a clear secret-exposure risk rather than a harmless diagnostic step.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
99% confidence
Finding

This finding points to the troubleshooting flow that verifies '.env' by printing it with 'cat', which exposes all stored API credentials. In an agent context, terminal output may be captured in logs or returned to the user, turning a local troubleshooting step into credential disclosure.

Content

Scanner excerpt · SKILL.md (reported line 334)May include surrounding context.

API Key Error

bash
# Verify .env
cat ~/openclaw-video-generator/.env

# Create if missing

Credential Access

High
Category
Privilege Escalation
Confidence
99% confidence
Finding

This line is part of the same unsafe verification sequence and contributes to exposing the secrets file during troubleshooting. Because the skill requires real provider keys for cloud services, disclosure could allow unauthorized API usage, billing fraud, and downstream compromise of connected accounts.

Content

Scanner excerpt · SKILL.md (reported line 335)May include surrounding context.

API Key Error

bash
# Verify .env
cat ~/openclaw-video-generator/.env

# Create if missing
cd ~/openclaw-video-generator

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README documents sending text to cloud TTS/ASR providers and generating local output files, but it does not disclose that user-supplied script content may leave the local environment and be processed by third parties. This can lead to unintended exposure of sensitive or proprietary content, and users may also be surprised by filesystem writes if they run the tool in sensitive directories or automated environments.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The auto-trigger rules are broad enough to activate on common words like 'video' or on generic multi-sentence text, increasing the chance an agent invokes this skill without sufficient user intent verification. In this skill, invocation can lead to cloning code, installing dependencies, and sending user-provided content to external APIs, so over-triggering expands both execution and privacy risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs agents to pass user script content into commands that rely on OpenAI TTS and Whisper, but it does not provide a clear warning that the content will be transmitted to external providers. If users include confidential, proprietary, or regulated text, the agent may disclose it off-device without informed consent.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation says 'no cloud services required' while elsewhere requiring OpenAI TTS/Whisper APIs and internet connectivity. This can mislead users and agents about data flow, causing scripts and audio content to be sent to third-party services under false assumptions about locality and privacy.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SKILL-EN.md (reported line 311)May include surrounding context.

md
**DON'T**:
- ❌ Run `npx remotion` to create new projects
- ❌ Assume project is installed without checking
- ❌ Ignore error messages
- ❌ Use hardcoded absolute paths (except `~` paths)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The auto-trigger conditions are broad enough to match ordinary conversation, including generic phrases like 'generate video' and any text that merely resembles a script. This can cause unintended invocation of the skill, leading the agent to run local commands, clone/install software, or transmit user content to external services without sufficiently explicit user intent.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The example trigger phrases overlap with common user requests and include language such as 'must use this skill,' which pressures automatic execution without validating context. In practice, this increases the chance of the agent invoking a toolchain and sending content externally when the user may only be asking for advice, editing help, or conceptual discussion.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill describes TTS and Whisper usage but does not clearly warn that user-provided script/audio content will be sent to OpenAI services. This is a privacy and consent issue: users may unintentionally disclose sensitive or proprietary text to third-party APIs, and the risk is amplified because the skill also encourages automated invocation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
91% confidence
Finding

Advising users to add 'OPENAI_API_KEY' to '~/.bashrc' creates long-lived credential persistence in a widely read startup file, increasing the chance of accidental leakage through backups, dotfile syncing, shell debugging, or later disclosure by tools that inspect the environment. In an agent setting, persistent secrets can also be inherited by unrelated future sessions and commands.

Content

Scanner excerpt · SKILL.md (reported line 165)May include surrounding context.

Option 1: npm Global Install

bash
npm install -g openclaw-video-generator@1.6.2
export OPENAI_API_KEY="sk-..."  # Or add to ~/.bashrc
openclaw-video-generator --version

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
80% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 178)May include surrounding context.

Configure provider

cp .env.example .env nano .env # Add your API key chmod 600 .env

text

### First Video

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
80% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 340)May include surrounding context.

Configure provider

cp .env.example .env nano .env # Add your API key chmod 600 .env

text

### First Video

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The auto-trigger guidance is broad enough to activate on common words like 'video' or 'create video', which can cause the agent to invoke this skill during ordinary conversation rather than only on explicit user intent. In a skill that installs packages, handles local files, and uses cloud API credentials, accidental invocation increases the chance of unintended actions and credential-adjacent exposure.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.