T09 · Insecure Skill Coding Practices
- Location
SKILL.md:16- Finding
Queue Secret May Be Transmitted over Plaintext HTTP
- Content
View full analysis
` - Body: JSON payload (see below) ``` ```markdown ## Safety - Never forward secrets from chat into shell commands except as the `-QueueSecret` argument. - Do not log the secret. - Validate that `BaseUrl` is an http(s) URL. ``` ### Technical Analysis The skill permits any syntactically valid HTTP or HTTPS base URL while directing the agent to transmit `THREADS_QUEUE_SECRET` in the `X-Queue-Secret` request header. The documented HTTP example uses a loopback address, where plaintext HTTP may be acceptable, but the validation requirement does not restrict HTTP to loopback destinations. If a remote `http://` URL is configured, the authentication secret, post content, and associated metadata are transmitted without transport encryption. A network-positioned attacker could inspect or modify this traffic. The skill also does not specify redirect validation, so an initially trusted endpoint could potentially redirect a request to an insecure or unintended destination, depending on HTTP tool behavior. ### Attack Path 1. An attacker influences the gateway configuration, configuration guidance, DNS/network path, or user choice so that `THREADS_FASTAPI_BASE_URL` points to a remote plaintext HTTP endpoint. 2. A user asks the agent to queue or publish a Threads post. 3. The agent sends a request to `/api/v1/threads/publish` with `THREADS_QUEUE_SECRET` in the `X-Queue-Secret` header. 4. A network-positioned at ...[truncated 690 chars]- Remediation
View remediation
