Back to skill

Security audit

OATDA Generate Video

Security checks for vulnerabilities and agentic risk

Overview

This instruction-only skill sends video prompts to OATDA as advertised and uses a declared OATDA API key, with privacy-sensitive data sharing users should understand.

Install only if you trust OATDA and are comfortable sending prompts, model parameters, and any public reference image URLs to that service and its downstream model providers. Prefer setting OATDA_API_KEY directly if you do not want the skill to read ~/.oatda/credentials.json, and avoid using confidential prompts or private/signed media URLs.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (7)

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill sends user prompts and potentially referenced media URLs to OATDA's external API, but it does not clearly warn the user before transmission. This creates a real privacy and consent risk, especially if users include sensitive prompts or private media links without realizing third-party processing will occur.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm/generate-video?async=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OATDA_API_KEY" \
  -d '{
Confidence
91% confidence
Finding
This command transmits user-supplied prompt content and the bearer token to an external service. While external transmission is expected for this skill's purpose, it is still a genuine security/privacy concern because the skill does not enforce consent boundaries, data minimization, or prompt sensitivity checks before sending data off-platform.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm/generate-video?async=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OATDA_API_KEY" \
  -d '{
Confidence
90% confidence
Finding
This example performs the same external POST and additionally demonstrates media-linked generation, which can disclose user-provided image URLs to a third party. If users provide private or signed URLs, those assets and associated metadata may be exposed beyond the local environment.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm/generate-video?async=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OATDA_API_KEY" \
  -d '{
Confidence
90% confidence
Finding
This command sends prompt text and a reference image URL to an external API. The risk is not code execution but privacy leakage and unintended sharing of user content or internal asset URLs with OATDA and any downstream video model vendor.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm/generate-video?async=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OATDA_API_KEY" \
  -d '{
Confidence
89% confidence
Finding
This is another external transmission of user prompt data to a third-party API. In context, the transmission is core functionality, but without explicit safeguards it still represents a true data-sharing risk that users may not fully understand.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm/generate-video?async=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OATDA_API_KEY" \
  -d '{
Confidence
89% confidence
Finding
This example again sends prompt content externally; repeated examples reinforce that the skill operational model is to forward user data off-system. The danger is contextual rather than hidden maliciousness: users may unknowingly disclose proprietary or personal creative material to third-party processors.

Credential Access

High
Category
Privilege Escalation
Content
"openclaw":
      {
        "emoji": "🎬",
        "requires": { "bins": ["curl", "jq"], "env": ["OATDA_API_KEY"], "files": ["~/.oatda/credentials.json"] },
        "primaryEnv": "OATDA_API_KEY",
      },
  }
Confidence
96% confidence
Finding
The skill instructs reading an API key from ~/.oatda/credentials.json and exporting it into the shell environment for subsequent commands. Accessing local credential files is sensitive because a compromised or overly broad skill can harvest secrets, and the current design does not sufficiently constrain access to the minimum necessary secure retrieval mechanism.

Static analysis

No suspicious patterns detected.