T09 · Insecure Skill Coding Practices
- Location
SKILL.md:20- Finding
Hardcoded Reusable Bearer Credential
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 20 and 27–34
Vulnerability Type: Hardcoded authorization credential
Risk Level: MediumVulnerable Code
markdown - Built-in Key (`mcp_7d31559a07884aa99be1fa22cdbe828a`) is an official public access key provided by AIGoHoteljson { "mcpServers": { "aigohotel-mcp": { "url": "https://mcp.aigohotel.com/mcp", "type": "http", "headers": { "Authorization": "Bearer mcp_7d31559a07884aa99be1fa22cdbe828a" } } } }Technical Analysis
The Skill embeds a reusable bearer token directly in a distributable configuration document. Although the documentation identifies the token as a public, rate-limited key, it is still an authorization credential accepted by the external MCP service.
Any party with access to the Skill can extract the token and use it independently of the intended Agent. The repository provides no evidence that the credential is bound to a particular client, origin, user, or narrowly constrained request context. Consequently, the service cannot reliably attribute requests made with the shared token to individual callers.
Attack Path
- An attacker obtains the publicly distributed Skill package.
- The attacker opens
SKILL.mdand copies the embedded bearer token. - The attacker sends independent HTTP requests to the documented endpoint at
https://mcp.aigohotel.com/mcp. - The attacker supplies the copied token in the
Authorizationheader. - If the service accepts the token, the attacker invokes its permitted hotel-search functions or automates requests to consume the shared quota.
- Legitimate Skill users may experience throttling or loss of availability under the shared credential.
Impact Assessment
The exposed token may permit unauthorized use of the MCP capabilities assigned to the shared identity and consumption of its rate-limited quota. Potential effects include service abuse, inaccurate request att ...[truncated 360 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the bearer token from
SKILL.mdand all other distributable project files. - Rotate or revoke the exposed token, even if it was intended for public community use.
- Require each user or deployment to provide a dedicated credential through the platform's protected secret-management mechanism.
- Inject credentials into MCP headers at runtime rather than storing them in Skill instructions or source control.
- Assign each credential only the minimum hotel-search permissions and quota required.
- Implement per-user or per-client rate limits, monitoring, revocation, and auditable request attribution.
- If the service is intentionally public, replace bearer-token authentication with a genuinely unauthenticated, narrowly scoped endpoint protected by server-side abuse controls.
- Add automated secret scanning to repository and release workflows to prevent future credential inclusion.
- Remove the bearer token from
