T09 · Insecure Skill Coding Practices
Warning
- Location
- SKILL.md:27
- Finding
- Target URLs Are Disclosed to External Conversion Services<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 27–39 **Vulnerability Type**: Sensitive URL disclosure to third-party services **Risk Level**: Medium ### Vulnerable Code ```markdown 1. **首选**:`https://markdown.new/{原URL}` - 适用于 Cloudflare 托管的网站 - 示例:`https://markdown.new/https://www.nature.com/nathumbehav/` 2. **备选1**:`https://defuddle.md/{原URL}` - 如果 markdown.new 不支持 - 示例:`https://defuddle.md/https://www.nature.com/nathumbehav/` 3. **备选2**:`https://r.jina.ai/{原URL}` - 通用网页抓取服务 - 示例:`https://r.jina.ai/https://www.nature.com/nathumbehav/` ``` ### Technical Analysis The Skill instructs the agent to embed the complete target URL into a request sent to one of three external conversion providers. Consequently, the selected provider receives the original URL as part of the request path. URLs may contain sensitive information such as signed query parameters, bearer tokens, session identifiers, private document identifiers, or confidential resource names. They may also identify internal services or non-public infrastructure. The instructions do not require user consent, remove sensitive parameters, warn against processing private URLs, or restrict requests involving internal network addresses. This is an information-disclosure risk rather than evidence that the listed providers are malicious. Exposure occurs because potentially sensitive input is intentionally transmitted outside the user's environment. ### Attack Path 1. A user supplies a webpage URL containing a secret, signed parameter, private identifier, or internal hostname. 2. The agent follows the Skill and prepends a third-party conversion-service domain. 3. The agent requests the resulting conversion URL. 4. The external provider receives and may log the complete original URL. 5. Anyone with authorized or unauthorized access to the provider's request logs could potentially recover the exposed URL data. ### Impact Assessment The issue does not directly grant ...[truncated 559 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Display a clear warning and obtain explicit user consent before forwarding a URL to an external conversion service. 2. Reject URLs containing embedded credentials, fragments with secrets, or sensitive query parameters such as `token`, `key`, `signature`, `auth`, and `session`. 3. Strip unnecessary query parameters before transmission where doing so does not break access. 4. Block loopback, link-local, private, and otherwise non-public destinations, including hostnames that resolve to such addresses. 5. Avoid third-party conversion services for authenticated, confidential, or internal content; use a reviewed local parser instead. 6. Document the privacy implications, retention considerations, and trust boundaries of every external provider. 7. Apply an explicit allowlist of supported schemes and permit only validated `http` and `https` URLs. ]]>
