T09 · Insecure Skill Coding Practices
- Location
SKILL.md:28- Finding
Weather Requests May Use Unencrypted HTTP Transport
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 28–31
Vulnerability Type: Plaintext network communication
Risk Level: LowVulnerable Code
sh curl -s "wttr.in/London?2&m" curl -s "wttr.in/London?T&m" curl -s "wttr.in/London?format=3" curl -s "wttr.in/London?format=%l:+%c+%t+%h+%w"Technical Analysis
These command examples omit the
https://scheme. As a result,curlmay initiate a plaintext HTTP request rather than enforcing TLS from the beginning. Even if the service normally redirects HTTP requests to HTTPS, the initial request and redirect response remain exposed to an on-path attacker.The queried place is incorporated into the URL path, so the initial request can disclose location information. An attacker controlling or observing the network could read the query, modify the response, or replace the redirect destination. Because the Skill treats the returned body as weather information, manipulated content could be summarized and presented as legitimate forecast data.
External weather access is necessary for the declared functionality, and no transmission of credentials, local files, environment variables, memory, or unrelated system data was identified. The issue is limited to the transport security of the scheme-less examples.
Attack Path
- A user requests weather information for a named location.
- The Agent follows one of the documented scheme-less
curlexamples and substitutes the requested place into the URL. curlinitiates a plaintext HTTP connection towttr.in.- An on-path attacker observes the requested location or intercepts the connection.
- The attacker may alter the weather response or redirect the request to an attacker-controlled destination.
- The Agent interprets the manipulated body as forecast data and may present it to the user.
Impact Assessment
Exploitation requires network-path visibility or control. A successful attack ...[truncated 374 chars]
- Remediation
View remediation
Remediation Suggestions
Replace every scheme-less endpoint with an explicit HTTPS URL and require HTTPS at the client level:
sh curl --fail --silent --show-error --proto '=https' \ "https://wttr.in/London?2&m"Apply the same change to the full-table, current-weather, and custom-format examples. Additional hardening should include:
- Permit only the documented
wttr.in,geocoding-api.open-meteo.com, andapi.open-meteo.comHTTPS hosts. - Do not follow redirects to non-HTTPS URLs or unapproved hosts.
- URL-encode user-provided place names rather than directly interpolating arbitrary text.
- Preserve TLS certificate verification and do not introduce
curl -kor--insecure. - Retain the existing one-request default and restricted fallback flow to minimize disclosure of location data.
- Permit only the documented
