T09 · Insecure Skill Coding Practices
- Location
bin/run.mjs:238- Finding
API Token Exposed in the Request URL Query String
- Content
View full analysis
item.location === "query")) { const value = params[parameter.name]; if (value === undefined) { continue; } appendValue(url.searchParams, parameter.name, value); } } ``` ### Technical Analysis The operation metadata classifies the API token as a query parameter. `applyQueryParams` consequently appends the credential to the URL before `fetch` sends the request. The resulting request has the following effective form: ```text https://api.justoneapi.com/api/search/v1?token=&keyword= ``` TLS protects the request from passive observation while it is transmitted over the network, but it does not prevent the complete URL from being recorded at either endpoint or by trusted infrastructure. Full URLs are frequently captured by reverse-proxy access logs, API gateways, application performance monitoring systems, server diagnostics, error telemetry, and network debugging tools. Sending a reusable credential in a URL therefore gives the token a wider exposure surface than sending it in a dedicated authentication header. The behavior is associated with the declared API request and is not evidence of covert exfiltration, but it does not follow least-exposure credential handling. ### A ...[truncated 1333 chars]- Remediation
View remediation
