Back to skill

Security audit

Glass Cut Video

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent WeryAI video-generation helper, but its documented shell command pattern can turn prompt text into local command execution if followed literally.

Review before installing. The API-key and network use are expected for WeryAI video generation, but do not let an agent construct the documented `--json '...'` command by interpolating prompt text into a shell. Use a shell-free argument array, stdin, or a temporary JSON file, and run it in an environment containing only the WERYAI_API_KEY needed for the task.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:59
Finding

Shell Command Injection Through Documented CLI Argument Construction

Content
View full analysis
``` ```sh node {baseDir}/scripts/video_gen.js wait --json '{"model":"KLING_V3_0_PRO","prompt":"(full English prompt)","aspect_ratio":"9:16","duration":5,"generate_audio":true}' ``` ```sh node {baseDir}/scripts/video_gen.js wait --json '{"model":"KLING_V3_0_PRO","prompt":"(full English prompt)","image":"(user HTTPS URL)","aspect_ratio":"9:16","duration":5,"generate_audio":true}' ``` ### Technical Analysis The Skill directs an Agent to place user-influenced prompt and image URL values inside a JSON document that is itself enclosed in single quotes in a shell command. A single quote contained in an attacker-controlled value can terminate the shell argument before `scripts/video_gen.js` starts. The attacker can then append shell operators and arbitrary commands. Although `scripts/video_gen.js` parses the argument using `JSON.parse`, this does not mitigate the vulnerability. Shell tokenization and command substitution occur before Node.js receives the argument. Consequently, malformed or malicious content can be interpreted by the shell rather than rejected by the JSON parser. The vulnerable behavior is in the documented invocation pattern rather than an internal use of `child_process` by `video_gen.js`. Exploitation therefore depends on the invoking Agent constructing and executing the documented command through a shell with unescaped user content. ### Attack Path 1. An attacker requests video generation and su ...[truncated 1558 chars]
Remediation
View remediation
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (9)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
**Dependencies:** `scripts/video_gen.js` in this folder + `WERYAI_API_KEY` in the environment + Node.js 18+. No other Cursor skills required.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
**Dependencies:** `scripts/video_gen.js` in this folder + `WERYAI_API_KEY` in the environment + Node.js 18+. No other Cursor skills required.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
**Dependencies:** `scripts/video_gen.js` in this folder + `WERYAI_API_KEY` in the environment + Node.js 18+. No other Cursor skills required.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
**Dependencies:** `scripts/video_gen.js` in this folder + `WERYAI_API_KEY` in the environment + Node.js 18+. No other Cursor skills required.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
**Dependencies:** `scripts/video_gen.js` in this folder + `WERYAI_API_KEY` in the environment + Node.js 18+. No other Cursor skills required.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
- Do not hard-code absolute paths in this doc; `{baseDir}` is this skill root (next to `SKILL.md`).

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding

The skill requires access to an API key and external network endpoints, but it does not declare an explicit tool scope such as permissions or allowed-tools. That omission weakens reviewability and policy enforcement because an installer or runtime may not have a clear, machine-readable restriction on what the skill is allowed to access, increasing the chance of unintended secret exposure or broader network use than expected.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The implicit trigger test uses a broad natural-language request in Chinese that clearly matches the skill domain but does not establish tight invocation boundaries. This can cause the skill to trigger on ordinary conversational requests too aggressively, increasing the chance of unintended activation, routing errors, or abuse through prompt phrasing that silently invokes external video-generation behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This code file contains natural-language instructions, examples, and environment-variable guidance exclusively in Chinese. That can violate language/locale policy when the skill does not provide user opt-in, alternative language support, or a documented reason for restricting the language.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.