T09 · Insecure Skill Coding Practices
Warning
- Location
- SKILL.md:14
- Finding
- Undisclosed Multi-Provider Transmission of Potentially Sensitive Search Queries<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:14-25` and `SKILL.md:151-153` **Vulnerability Type**: Privacy disclosure caused by insecure documentation and excessive network fan-out **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown 2. **Language Evaluation**: Detect the language attribute of the search query. If the query is in Chinese, use Domestic search engines (Baidu, Bing CN, Bing INT, 360, Sogou, WeChat, Shenma). If the query is non-Chinese, use International search engines (Google, Google HK, DuckDuckGo, Yahoo, Startpage, Brave, Ecosia, Qwant, WolframAlpha). Select engines based on query relevance and availability. 3. **Controlled Search**: Use web_fetch to execute search requests with rate limiting: - Add 1-2 second delay between requests to respect server load - Batch requests in groups of 3-4 engines with sequential execution between batches - Include standard browser headers to identify as legitimate user agent - If access is denied (403/429), fetch engine homepage to obtain fresh session cookies 4. **Cookie Management**: - Cookies are stored ONLY in memory during runtime - Cookies are acquired on-demand when search requests fail - No cookies are read from or written to config.json or any file ``` ```markdown ### Data Handling - **No Personal Data**: Tool does not collect or transmit user personal information - **Local Execution**: All operations run locally, no external data transmission - **Session Isolation**: Cookies are session-specific and cleared after use ``` ### Technical Analysis The documented workflow transmits search terms to external search-engine domains through `web_fetch`. It may send the same query to batches of three or four independently operated providers. This directly contradicts the claims that operations are local and that no information is externally transmitted. Search queries can contain personal information, confidential business data, internal hostnames, source- ...[truncated 2212 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the inaccurate claims that all operations are local and that no external data transmission occurs. 2. Clearly state that search queries are transmitted to the selected third-party search providers. 3. Display or document the complete set of potential recipient domains. 4. Default to one search engine and make multi-engine aggregation an explicit opt-in feature. 5. Obtain user confirmation before sending a query to multiple providers. 6. Detect and block or warn about likely secrets, credentials, tokens, personal data, and confidential content before transmission. 7. Advise users not to include passwords, API keys, private source code, internal URLs, or regulated data in search queries. 8. Apply proper URL encoding to all user-supplied query values. 9. Allow users to select an approved provider or restrict searches through an explicit domain allowlist. 10. Minimize cookie acquisition and document precisely which cookie attributes are retained in memory and how redirects are handled. 11. Clarify that privacy-oriented search engines still receive the submitted query even if they advertise reduced tracking. ]]>
