T09 · Insecure Skill Coding Practices
Warning
- Location
SKILL.md:23- Finding
Unrestricted User-Controlled URL Fetching Enables Server-Side Request Forgery
- Content
View full analysis
/` | Also capture the `X-Robots-Tag` response header. | | Robots | `https:///robots.txt` | A 404 means "no robots.txt" — do **not** parse an error page body as robots rules. | | Sitemap | `https:///sitemap.xml` | Body must actually look like a sitemap (`/llms.txt` | Must return < 400 with a non-empty text body. | ``` ### Technical Analysis The skill directs the agent to fetch resources from a user-supplied domain and explicitly follow HTTP redirects. It does not impose restrictions on the destination host, resolved IP address, port, or redirect targets. There are no safeguards requiring the agent to reject: - Loopback destinations such as `127.0.0.1` or `::1` - Private network ranges such as `10.0.0.0/8`, `172.16.0.0/12`, or `192.168.0.0/16` - Link-local addresses, including cloud instance metadata services - Internal DNS names - IPv4 addresses represented through alternative numeric encodings - Public hosts that redirect to internal destinations - DNS records that change after initial validation Merely normalizing the supplied URL, preferring HTTPS, and noting the final host does not prevent SSRF. Validation must occur after DNS resolution and again for every redirect. Because the procedure requires recording response bodies, a successful SSRF request could also cause internal response content to be processed or included in an audit ...[truncated 1963 chars]- Remediation
View remediation
