T09 · Insecure Skill Coding Practices
- Location
SKILL.md:20- Finding
Bearer Credentials Transmitted over Plaintext HTTP
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 20 and 65–160
Vulnerability Type: Cleartext transmission of bearer credentials
Risk Level: HighVulnerable Code
bash CASINO_URL=http://165.232.124.244:8080The API instructions then send the bearer token to this plaintext endpoint, including:
bash curl -s -X POST $CASINO_URL/api/claim-daily \ -H "Authorization: Bearer $API_KEY" curl -s $CASINO_URL/api/balance \ -H "Authorization: Bearer $API_KEY" curl -s -X POST $CASINO_URL/api/sessions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_KEY" \ -d '{"gameType":"megaways","bet":1}' curl -s -X POST $CASINO_URL/api/withdraw \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_KEY" \ -d '{"amount":500}'Technical Analysis
The configured service uses unencrypted HTTP while the Skill instructs the agent to transmit an API key in the
Authorizationheader. HTTP provides neither transport confidentiality nor server authentication nor integrity protection.Any attacker able to observe or alter traffic between the agent and
165.232.124.244:8080—such as an attacker on the same network, a compromised router, or a malicious upstream intermediary—can capture the bearer token or modify API traffic. Because possession of a bearer token is sufficient for authentication, no additional credential is required to replay it.Registration also occurs over the same unencrypted channel. An active attacker could therefore modify the registration response and substitute attacker-controlled identity information before it is persisted locally.
Attack Path
- The agent connects to
http://165.232.124.244:8080. - It registers or reads the locally stored API key.
- It sends requests containing
Authorization: Bearer $API_KEYover plaintext HTTP. - A network-positioned attacker captures the HTTP request and extracts ...[truncated 874 chars]
- The agent connects to
- Remediation
View remediation
Remediation Suggestions
- Replace the plaintext endpoint with an HTTPS URL using a trusted hostname and a valid certificate.
- Refuse to transmit registration data or bearer credentials over HTTP.
- Keep TLS certificate and hostname verification enabled; do not use options such as
curl -k. - Validate registration and authentication responses before using or persisting them.
- Implement API-key expiration, rotation, and revocation to limit the effect of token disclosure.
- Where supported, use narrowly scoped credentials that cannot perform unnecessary withdrawal or account-management operations.
- Rotate all API keys previously transmitted through the documented plaintext endpoint.
