T09 · Insecure Skill Coding Practices
Warning
- Location
- SKILL.md:29
- Finding
- Unredacted screenshot text may be transmitted to external search services<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 29-33 **Vulnerability Type**: Sensitive information disclosure through external search **Risk Level**: Medium ### Vulnerable Code ```markdown 1. **Search the exact text** — Copy the quote or phrase and web_search it. Memes frequently reference: - Political speeches and statements - Movie/TV/anime quotes - Song lyrics - Famous tweets or social media posts ``` ### Technical Analysis The Skill activates for memes, images, and arbitrary screenshots. It instructs the Agent to copy exact text from those inputs and submit it through `web_search`. Screenshots can contain private conversations, names, email addresses, account identifiers, authentication material, internal URLs, or other sensitive information unrelated to meme analysis. The instruction does not require the Agent to: - Determine whether the screenshot is public or private. - Detect credentials, personal data, or confidential content. - Redact identifiers before searching. - Obtain user consent before transmitting extracted text. - Limit searches to the smallest non-sensitive phrase necessary. Searching public cultural references is consistent with the declared meme-analysis functionality. However, mandatory exact-text searching exceeds minimum necessary privilege where a sanitized phrase, local analysis, or explicit user confirmation would suffice. ### Attack Path 1. A user submits a screenshot containing both an unfamiliar phrase and sensitive information. 2. The Skill decomposes the screenshot and identifies the text as a possible cultural reference. 3. Following the instruction to copy and search the exact text, the Agent submits that content to an external search service. 4. The search provider receives and may log the submitted content. 5. Depending on tool implementation, the query may also be exposed to downstream search infrastructure or visited websites. No arbitrary code execution or system privilege es ...[truncated 716 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace exact-text searching with a data-minimizing workflow: - Extract only the smallest phrase needed to identify the reference. - Remove names, handles, email addresses, phone numbers, URLs, and unique identifiers. - Never search credentials, tokens, recovery codes, or private-message content. 2. Add a sensitivity gate before every external search: - Classify the image as public meme content or potentially private content. - Ask for explicit user consent before searching text from private screenshots. - Default to local analysis when classification is uncertain. 3. Restrict search construction: - Use sanitized keywords rather than entire quotes when possible. - Permit exact-phrase searches only after confirming that the phrase is public and non-sensitive. - Record what sanitized query will be submitted when user approval is required. 4. Document the network boundary clearly: - State that search queries are sent to an external provider. - Identify applicable retention and privacy considerations. - Avoid forwarding the source image unless separately required and approved. ]]>
