Back to skill

Security audit

Huo15 Comic Lipsync

Security checks for vulnerabilities and agentic risk

Overview

This skill performs the advertised lip-sync workflow, but users should know selected video and audio are sent to Kling and may incur API costs.

Install only if you are comfortable sending the chosen video clips and dialogue audio to Kling for processing and paying for each processed scene. Use a dedicated API key if possible, test on a small directory first, and do not rely on the documented --no-lipsync option because the included script does not implement it.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Tainted flow: 'files' from open (line 34, file read) → requests.post (network output)

High
Category
Data Flow
Content
"audio": open(audio_path, "rb"),
    }
    data = {"model": MODELS["lipsync"]}  # kling-v2.6
    r = requests.post(f"{KLING_API}/videos/lip-sync", headers=headers, files=files, data=data)
    r.raise_for_status()
    return r.json()["task_id"]
Confidence
84% confidence
Finding
The code uploads local video and audio files to an external API for processing. In this skill, that behavior is functionally required, but it is still a real privacy/security concern because potentially sensitive media leaves the local environment with no explicit consent check, classification gate, or in-file disclosure.

Lp3

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding
The skill documentation describes capabilities that read and write local files, access environment variables for an API key, and transmit media to an external service, but it does not declare permissions for those actions. This creates a trust and review gap: operators may run the skill without understanding that local media and credentials are being used and sent externally, increasing the chance of unintended data exposure or policy violations.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
This file uploads both video and dialogue audio to a third-party provider without any visible user-facing warning, consent prompt, or privacy disclosure. Given that media may contain personal, confidential, or copyrighted content, silent external transmission materially increases privacy and compliance risk.

External Transmission

Medium
Category
Data Exfiltration
Content
## API

```
POST https://api.kling.com/v1/videos/lip-sync
Headers: Authorization: Bearer {KLING_API_KEY}
Body:
{
Confidence
86% confidence
Finding
The skill sends video and audio URLs to a third-party API, which is an external data transmission of potentially sensitive media content. In this context the transmission is part of the intended functionality, but it is still security-relevant because user media and associated metadata may leave the local environment and be processed by an external provider using an API credential.

Static analysis

No suspicious patterns detected.