T09 · Insecure Skill Coding Practices
- Location
scripts/call_api.sh:4- Finding
Cleartext HTTP Used for API Communication
- Content
View full analysis
Vulnerability Details
File Location:
scripts/call_api.sh:4
Vulnerability Type: Cleartext transmission and unauthenticated API transport
Risk Level: MediumVulnerable Code
bash BASE_URL="${BASE_URL:-http://skills.easytoken.cc/api}"The same insecure endpoint is also documented and encouraged in:
SKILL.md:22-23SKILL.md:37references/api-endpoints.md:3references/api-endpoints.md:36
Relevant documentation snippets include:
markdown - Online site: `http://skills.easytoken.cc/` - API prefix: `http://skills.easytoken.cc/api`bash BASE_URL="http://skills.easytoken.cc/api"markdown Base URL: `http://skills.easytoken.cc/api`bash curl -o /dev/null -s -w "%{http_code}\n" "http://skills.easytoken.cc/api/stats"Technical Analysis
The executable script and all documented examples use unencrypted HTTP. HTTP does not provide transport confidentiality, server authentication, or response integrity. The script's
curl --fail-with-bodyoption only treats HTTP error responses as failures; it does not protect traffic against interception or modification.A network-positioned attacker could perform a man-in-the-middle attack and modify API responses before they reach the Skill. Because the Skill is intended to interpret rankings, growth values, statistics, authors, tags, and search results, manipulated JSON could cause the Agent to produce false conclusions while appearing to rely on the legitimate service.
The endpoint and query string are also visible to passive observers. No credentials or authentication tokens are transmitted by the reviewed project, so the confirmed confidentiality exposure is limited to requested endpoints, search terms, date ranges, filters, and other query parameters.
Attack Path
- A user or Agent invokes
scripts/call_api.shor runs one of the documentedcurlexamples. - The client connects to
skills.easytoken.ccthrough cleartext HTTP. - An attacker con ...[truncated 1048 chars]
- Remediation
View remediation
Remediation Suggestions
-
Configure the service with a valid TLS certificate and expose the API exclusively through HTTPS.
-
Change the script default to:
bash BASE_URL="${BASE_URL:-https://skills.easytoken.cc/api}" -
Replace every
http://skills.easytoken.ccreference inSKILL.mdandreferences/api-endpoints.mdwithhttps://skills.easytoken.cc. -
Redirect HTTP requests to HTTPS at the server, but do not rely on redirection as the client-side fix because the initial HTTP request remains interceptable.
-
Keep
curlcertificate verification enabled. Do not introduce-kor--insecure. -
Consider validating
BASE_URLand rejecting non-HTTPS values unless an explicit, documented development-only override is enabled. -
If HTTPS cannot be provided, clearly state that responses are not authenticated or integrity-protected and must not be treated as authoritative.
-
