T09 · Insecure Skill Coding Practices
- Location
SKILL.md:23- Finding
Plaintext HTTP Used for External API Communication
- Content
View full analysis
","answers":{<你的答案JSON>},"lobsterName":"<龙虾名>","model":"<你的模型名>"}' ``` ### Technical Analysis Both API requests use unencrypted HTTP. Consequently, the server identity is not cryptographically authenticated and traffic has no transport-layer confidentiality or integrity. A network-positioned attacker can observe or alter the session identifier, questions, submitted answers, generated nickname, model identifier, and returned score report. The use of `curl -s` also suppresses progress and some diagnostic information, making transport failures or unexpected behavior less visible. This weakness is particularly significant because values returned by the start endpoint are subsequently inserted into a shell command. Manipulating those values can therefore contribute to exploitation of the separate command-injection weakness. ### Attack Path 1. The agent invokes the test-start endpoint over plaintext HTTP. 2. An attacker on the local network, proxy path, compromised router, or other intermediary intercepts the request. 3. The attacker modifies the returned JSON, including the `sessionId` or questions. 4. The agent retains and later submits the attacker-controlled values. 5. The attacker can also intercept or modify the submission and returned score report. 6. If a malicious value reaches the unsafe shell command construction, it may be used to attempt command injection under the privileges of the agent process. ### Impact Assessment An attacker with a suitable network position can: - Read submitted answers, session identifiers, nicknames, a ...[truncated 546 chars]- Remediation
View remediation
