T09 · Insecure Skill Coding Practices
- Location
SKILL.md:24- Finding
Unsafe Bearer Token Transmission Guidance
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 24
Vulnerability Type: Sensitive token exposure through insecure transmission guidance
Risk Level: MediumVulnerable snippet:
markdown Pass the token to the third-party service however it requires (request body, header, query param — it varies per service).Technical Analysis
The skill explicitly permits transmitting a short-lived Ravi SSO bearer token through a URL query parameter. Query strings can be retained in browser history, application and reverse-proxy access logs, monitoring platforms, analytics systems, screenshots, and other diagnostic records. Depending on client and referrer-policy behavior, URLs may also be disclosed through referral metadata.
The token is security-sensitive because successful verification returns identity information, including the user's name, email address, telephone number, account creation time, and owner information. Although the documented five-minute lifetime limits the exploitation window, it does not prevent a party that captures the token from attempting verification while it remains valid.
The guidance also does not require validation of the destination service or explicit user confirmation before disclosure. This increases the risk that an agent could send the bearer token to an untrusted, impersonated, or incorrectly selected endpoint.
Attack Path
- An agent obtains a fresh token by executing
ravi sso token. - Following the documented guidance, the token is placed in a third party's URL query parameter.
- The complete URL is captured by access logs, proxy infrastructure, browser history, monitoring software, or another observer.
- An observer extracts the bearer token during its five-minute validity window.
- The observer submits the token to the Ravi SSO verification endpoint.
- If verification succeeds, the identity information associated with the token is disclosed.
Imp
...[truncated 511 chars]
- An agent obtains a fresh token by executing
- Remediation
View remediation
Remediation Suggestions
- Prohibit transmission of SSO tokens in URL query parameters.
- Require HTTPS for every token destination.
- Prefer a protected POST request body or an
Authorization: Bearerheader, according to the receiving service's secure integration specification. - Require validation of the destination origin before releasing a token, using an allowlist of trusted service origins where practical.
- Request explicit user confirmation before transmitting identity-bearing credentials to a third party.
- Instruct agents never to log, cache, display, persist, or include the token in diagnostic output.
- Redact token values from application, proxy, and observability logs.
- Document whether tokens are audience-bound and single-use. If they are not, implement audience restriction and one-time redemption to reduce the consequences of interception.
- Preserve the short expiration period and obtain tokens only immediately before secure transmission.
