T09 · Insecure Skill Coding Practices
- Location
bin/run.mjs:243- Finding
API Credential Transmitted in a URL Query Parameter
- 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 manifest declares the authentication token as a query parameter. The runtime injects the supplied token into `params`, and `applyQueryParams` subsequently appends every query parameter—including `token`—to the request URL before calling `fetch`. Although the URL uses HTTPS and the destination is hard-coded as `https://api.justoneapi.com`, HTTPS protects the request only while it is in transit. Query strings may still be retained in: - API server access logs - Reverse-proxy and gateway logs - Network monitoring or application-performance systems - Debugging and error telemetry - Request tracing systems that record complete URLs The request is necessary for the Skill's declared API-wrapper functionality, and the audit found no evidence that the credential is sent to an unrelated destination. However, transmitting authentication secrets in URLs is not a least-exposure design because URLs are commonly ...[truncated 1091 chars]- Remediation
View remediation
