Back to skill

Security audit

superouter-video-gen

Security checks for vulnerabilities and agentic risk

Overview

The skill does what it claims, but it sends API credentials and user media to a fixed external service over plaintext HTTP.

Review this skill carefully before installing. It appears to be a legitimate external video-generation workflow, but you should not use it with sensitive media or a valuable API key unless the service supports HTTPS and you are comfortable sending the selected files, prompts, and task metadata to that host. Use a dedicated low-privilege key with spending limits if possible.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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 (2)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:77
Finding
Bearer Credential and User Media Transmitted Over Plaintext HTTP## Vulnerability Details **File Location**: `SKILL.md`, lines 77–78, 98–100, 130–132, 168–170, and 211–212 **Vulnerability Type**: Plaintext transmission of sensitive credentials and user data **Risk Level**: High ### Vulnerable Code ```bash curl "http://superouter.nesports.top/me/balance" \ -H "Authorization: Bearer ${SUPER_KEY}" ``` ```bash curl --request POST "http://superouter.nesports.top/v1/video/assets/upload" \ --header "Authorization: Bearer ${SUPER_KEY}" \ --form "file=@/absolute/path/to/reference-1.png" ``` ```bash curl --request POST "http://superouter.nesports.top/v1/video/omni-reference/task/submit" \ --header "Authorization: Bearer ${SUPER_KEY}" \ --header "Content-Type: application/json" \ ``` ```bash curl --get "http://superouter.nesports.top/v1/video/omni-reference/task/query" \ --header "Authorization: Bearer ${SUPER_KEY}" \ --data-urlencode "taskId=task_xxx" ``` ```bash curl "http://superouter.nesports.top/me/tasks?limit=50" \ -H "Authorization: Bearer ${SUPER_KEY}" ``` ### Technical Analysis All documented API operations use plaintext HTTP while transmitting the `SUPER_KEY` bearer credential. The asset-upload and task-submission operations also transmit user-selected image, video, or audio files, generation prompts, asset identifiers, and task metadata without transport encryption. Bearer credentials provide access based solely on possession. An attacker capable of observing network traffic can recover the credential and replay it without needing to defeat an additional authentication mechanism. Plaintext HTTP also provides no server authentication or response integrity, allowing an active on-path attacker to modify requests or substitute API responses. ### Attack Path 1. A user invokes the Skill to check a balance, upload media, submit a task, or query task status. 2. The Agent follows the documented `curl` commands and connects to `http://superoute ...[truncated 1128 chars]
Remediation
## Remediation Suggestions - Replace every `http://superouter.nesports.top` endpoint with a verified `https://` endpoint. - Configure the service with a valid certificate issued for the expected hostname. - Reject redirects from HTTPS to HTTP and avoid options that disable certificate verification. - Fail closed if TLS negotiation or certificate validation fails. - Rotate any `SUPER_KEY` that may previously have been transmitted over plaintext HTTP. - Use narrowly scoped, short-lived API credentials where supported. - Avoid logging authorization headers, prompts, signed download URLs, or sensitive response bodies. - Consider certificate or public-key pinning where the deployment model can support it safely. - Document that media and prompt content must never be uploaded unless an authenticated, encrypted connection has been established.

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:98
Finding
Unverified Hard-Coded Third-Party Service Receives Environment Credentials and Local Files## Vulnerability Details **File Location**: `SKILL.md`, lines 2–3, 24–25, 77–78, 98–100, and 130–132 **Vulnerability Type**: Excessive trust in a fixed external service and insufficient data-disclosure safeguards **Risk Level**: Medium ### Vulnerable Code ```yaml name: superouter-video-gen description: Use when the user wants to generate a video through the superouter, especially the `seedance-2.0-v1` omni-reference workflow with ordered assets, async submission, `taskId` polling, and direct download URLs. ``` ```yaml "requires": { "bins": ["curl"], "env": ["SUPER_KEY"] } ``` ```bash curl "http://superouter.nesports.top/me/balance" \ -H "Authorization: Bearer ${SUPER_KEY}" ``` ```bash curl --request POST "http://superouter.nesports.top/v1/video/assets/upload" \ --header "Authorization: Bearer ${SUPER_KEY}" \ --form "file=@/absolute/path/to/reference-1.png" ``` ```bash curl --request POST "http://superouter.nesports.top/v1/video/omni-reference/task/submit" \ --header "Authorization: Bearer ${SUPER_KEY}" \ --header "Content-Type: application/json" \ ``` ### Technical Analysis The Skill requires access to the `SUPER_KEY` environment variable and instructs the Agent to send it to a fixed external domain. It also directs the Agent to upload local image, video, and audio files to that service. External transmission is consistent with the declared video-generation workflow, so the reviewed content does not prove covert exfiltration. However, the Skill does not define domain-verification controls, per-file disclosure confirmation, local path restrictions, data-retention expectations, or deletion procedures. Consequently, sensitive files may be transferred based only on their selection as references, without a clear security boundary around which local files are eligible for upload. The fixed service receives both the credential required to perform paid operations and potentially private user c ...[truncated 1516 chars]
Remediation
## Remediation Suggestions - Require explicit user confirmation immediately before uploading each local file, identifying both the file path and destination host. - Explain that files, prompts, and metadata will be disclosed to an external video-generation service. - Restrict uploads to user-approved files under permitted working directories; reject sensitive system paths and unexpected symbolic-link targets. - Make the service origin configurable through a trusted configuration mechanism rather than silently relying on an embedded domain. - Validate the configured origin against an allowlist and require HTTPS. - Document the service operator, privacy policy, retention period, deletion process, and whether submitted media is used for training. - Use a dedicated, least-privileged API key with spending limits and only the permissions required for video-generation operations. - Provide a way to revoke uploaded assets and tasks when the platform supports deletion. - Validate file type, size, and media properties locally before upload to avoid unnecessary disclosure. - Never expose the value of `SUPER_KEY` in logs, command output, error messages, or generated reports.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

External Transmission

Medium
Category
Data Exfiltration
Content
Use platform balance, not upstream quota:

```bash
curl "http://superouter.nesports.top/me/balance" \
  -H "Authorization: Bearer ${SUPER_KEY}"
```
Confidence
84% confidence
Finding
The skill directs the agent to contact an external network endpoint and send authentication material to a non-local service over plain HTTP. Even though checking balance is part of the intended workflow, transmitting the Bearer token to an external service without transport security risks credential interception and unauthorized account access.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill instructs the agent to upload local files to an external service without requiring an explicit user-facing disclosure that local content and prompts will leave the system. This creates a real data-exposure risk because users may provide sensitive images, audio, video, or prompt content without understanding they are being transmitted to a third-party endpoint.

Static analysis

No suspicious patterns detected.