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.
