T09 · Insecure Skill Coding Practices
- Location
SKILL.md:20- Finding
Authentication Token Exposed to an Unvalidated Host Through URL Parameters
- Content
View full analysis
Site URL: `https:///MagicHaqi.html` (ask the user for `` if unknown; > the public host is typically the keepwork-hosted MagicHaqi page). ``` From `SKILL.md:43-50`: ```markdown Open the page with the token injected and your agent identity attached: https:///MagicHaqi.html?token=&agent= To adopt in one step, add `&adopt=1`: https:///MagicHaqi.html?token=&adopt=1&agent= ``` From `integration.md:16-18`: ```markdown Inject the token by opening: `MagicHaqi.html?token=`. The app reads `?token=` at boot and sets the SDK token. Visual fallback: click `#mhLoginBtn` and complete the form. ``` ### Technical Analysis The Skill obtains a KeepWork authentication token and then instructs the agent to transmit that token in the `token` query parameter of a URL whose host may be supplied by the user. No hostname allowlist, origin validation, certificate pinning, or other mechanism is documented to ensure that `` is an official MagicHaqi origin. A URL query parameter is also an unsafe transport location for a reusable authentication credential. It can be retained in browser history, copied into screenshots, captured by server and proxy access logs, processed by analytics systems, or propagated through referrer information during subsequent navigation. Although HTTPS protects the URL while it is in transit to the selected server, it does not protect the token from a malicious destination server. Because the workflow allows an unspecified host, HTTPS alone does not establish that the recipient is trusted. ### Attack Path 1. An attacker persuades a user or agent to use an attacker-controlled HTTPS host as `- Remediation
View remediation
