T09 · Insecure Skill Coding Practices
- Location
SKILL.md:30- Finding
Sensitive API and Target-Site Credentials Transmitted in URL Query Parameters
- Content
View full analysis
" \ --data-urlencode "url=" \ --data-urlencode "access_key=${SCREENSHOTONE_ACCESS_KEY}" \ --data-urlencode "format=png" \ --data-urlencode "=" \ "https://api.screenshotone.com/take" ``` `SKILL.md:93`: ```markdown - Request context: `cookies`, `headers`, `authorization`, `proxy`, `user_agent` ``` `references/screenshotone-options.md:5-10`: ```markdown This file is a compact working reference for direct ScreenshotOne `curl` requests. It does not replace the official docs. Use it to choose request parameters quickly, then pass them through repeated `--data-urlencode "key=value"` flags. ## Required and Core - `access_key`: required API credential - `url`: website to capture ``` `references/screenshotone-options.md:67-70`: ```markdown - `authorization`: auth header helper - `cookies`: cookies to preload - `headers`: custom request headers - `user_agent`: custom user agent ``` ### Technical Analysis The documented command uses `curl --get`, causing every `--data-urlencode` value to be appended to the request URL as a query parameter. This includes the ScreenshotOne `access_key`. The generic option template also allows `cookies`, `authorization`, and `headers` to be passed through the same mechanism. Secrets embedded in URLs have a broader exposure surface than credentials carri ...[truncated 2595 chars]- Remediation
View remediation
