T09 · Insecure Skill Coding Practices
- Location
SKILL.md:72- Finding
Bearer Credential Transmitted in a URL Query Parameter
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 72–77
Vulnerability Type: Credential exposure through a URL query parameter
Risk Level: HighVulnerable Code:
bash 3. **Connect MCP** — keep the credential in an env var (`export TAMATON_KEY="<key_id>:<secret>"`) and reference it from config. To fetch a pre-filled snippet, pass the key from the env var rather than typing it inline so the secret stays out of your shell history: curl "https://tamaton.com/api/bots/install?key=$TAMATON_KEY"Technical Analysis
The installation command expands
TAMATON_KEY, which contains the complete<key_id>:<secret>bearer credential, directly into a URL query parameter. Keeping the credential in an environment variable prevents the literal secret from being entered into the shell command, but it does not make its transmission in a URL safe.URLs can be retained by server access logs, reverse proxies, gateways, security monitoring systems, telemetry, debugging output, and process inspection. Any component that records the request target may therefore retain a reusable credential. This example also conflicts with the explicit warning elsewhere in the same file that credentials should not be placed in URLs.
Sending authentication data to the declared service is necessary for the integration, but transmitting it as a query parameter is not the minimum-risk method. An authorization header provides equivalent functionality with substantially lower incidental exposure.
Attack Path
- A user follows the documented setup instructions and stores the complete credential in
TAMATON_KEY. - The shell expands
$TAMATON_KEYinto the request URL. - Tamaton infrastructure, a reverse proxy, monitoring service, debugging facility, or another system records the full request URL.
- An attacker or unauthorized operator obtains access to the retained URL.
- The attacker e ...[truncated 891 chars]
- A user follows the documented setup instructions and stores the complete credential in
- Remediation
View remediation
Remediation Suggestions
-
Remove the
install?key=...workflow from the documentation. -
Change the installation endpoint to accept authentication only through an HTTP authorization header, for example:
bash curl \ -H "Authorization: Bearer $TAMATON_KEY" \ "https://tamaton.com/api/bots/install" -
If the response is merely a configuration template, construct that configuration locally instead of transmitting the credential to a separate installation endpoint.
-
Configure the server to reject credentials supplied through query parameters.
-
Redact query strings and authorization data from application, proxy, gateway, monitoring, and telemetry logs.
-
Review existing logs for retained credentials and rotate any key that may have been recorded.
-
Keep the existing guidance to use an environment variable or secret manager, but clarify that environment-variable expansion does not make URL-based secret transmission safe.
-
