Back to skill

Security audit

Kling AI

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for Kling AI account actions, but its first-time setup tells the agent to run an unverified remote installer directly in a shell.

Before installing, review the oo CLI installer yourself and prefer a vendor-documented, version-pinned, verified installation path. Do not let the agent run curl | bash or PowerShell iex automatically. For normal use, confirm any video-generation submission payload before it runs and connect only the Kling AI account you intend to use.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:56
Finding
Unverified Remote Installer Download and Immediate Shell Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 56–60 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High **Complete Code Snippet**: ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ```powershell irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShell ``` ### Technical Analysis The setup instructions download mutable scripts from an external server and immediately execute them with the invoking user's shell. The Unix command pipes the HTTP response directly into Bash, while the Windows command passes the downloaded response to `Invoke-Expression`. Neither command pins an installer version, validates a cryptographic digest or signature, nor provides an inspection boundary between download and execution. HTTPS protects data in transit but does not protect against compromise of the distribution server, publishing account, DNS infrastructure, or signing and release process. The effective code can also change after the Skill has been audited. Installing the declared CLI may be necessary for the Skill's operation, and the instructions limit installation to a first-time fallback after a command-not-found error. However, immediate execution of an unverified remote response exceeds the minimum privilege and trust required to explain or install the dependency safely. ### Attack Path 1. An attacker compromises the installer host, its deployment pipeline, the controlling account, or another component capable of changing the remote installer response. 2. The attacker replaces `install.sh` or `install.ps1` with a malicious payload. 3. A user or Agent encounters the documented `oo: command not found` condition and follows the first-time setup instructions. 4. `curl` or `Invoke-RestMethod` retrieves the attacker-controlled response. 5. Bash or `Invoke-Expression` executes the response immediately, without integrity verification or pr ...[truncated 992 chars]
Remediation
## Remediation Suggestions - Do not pipe a network response directly into a shell or pass it to `Invoke-Expression`. - Prefer a trusted platform package manager or a version-pinned release artifact from the vendor's official repository. - Download the installer or binary to a local file without executing it. - Pin an explicit CLI version rather than relying on a mutable latest installer. - Verify the downloaded artifact using a cryptographic signature or a checksum obtained through a separately authenticated channel. - Provide the expected signer identity, checksum, version, and verification commands in the documentation. - Execute the verified artifact as a separate, explicit step and request only the minimum permissions required. - Avoid elevated execution unless it is strictly necessary, clearly disclosed, and separately approved. - Retain the existing behavior of attempting the action before offering installation, so dependency installation occurs only when genuinely required. A safer Unix workflow would follow this pattern: ```bash curl -fL -o oo-installer.sh "https://trusted.example/oo/releases/vX.Y.Z/install.sh" echo "<EXPECTED_SHA256> oo-installer.sh" | sha256sum --check - less oo-installer.sh bash oo-installer.sh ``` The expected digest must be supplied through an authenticated, version-specific release channel. Windows instructions should similarly use a pinned download, verify an Authenticode signature or published digest, and invoke the local verified file without `iex`.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (1)

Vague Triggers

Medium
Confidence
91% confidence
Finding
The trigger text explicitly instructs use of this skill for "ANY Kling AI request," which is broader than necessary and can cause the agent to invoke the skill for loosely related or ambiguous requests. Because this skill includes write-capable actions, over-invocation increases the chance of unnecessary connector access or accidental state-changing operations in the wrong context.

Static analysis

No suspicious patterns detected.