T09 · Insecure Skill Coding Practices
- Location
SKILL.md:106- Finding
Unrestricted URL Navigation May Enable Server-Side Request Forgery
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:106-113
Vulnerability Type: Unvalidated user-controlled URL navigation
Risk Level: MediumVulnerable code:
bash # Navigate to URL browser action=open targetUrl=<provided-url> # Capture page snapshot to extract content browser action=snapshot format=markdownTechnical Analysis
The workflow directs the host browser to open a user-provided URL without requiring scheme validation, destination filtering, DNS resolution checks, or an allowlist of approved pharmaceutical and conference domains.
Because the browser runs with
target=host, its network position may differ from that of the requesting user. If the runtime can reach loopback services, private network hosts, cloud metadata endpoints, or privileged internal web applications, an attacker could provide a URL targeting those resources. The subsequent snapshot operation may return the response content to the agent, creating an SSRF-style read channel.Browser sandboxing, network isolation, or tool-level URL restrictions could reduce exploitability, but none are required by the skill instructions.
Attack Path
- An attacker invokes the skill and supplies a URL referencing a loopback address, private address, link-local service, or attacker-controlled redirector.
- The skill passes that URL directly to
browser action=open. - The host browser sends the request from the OpenClaw runtime's network context.
- The skill invokes
browser action=snapshot format=markdown. - If the destination is reachable and returns readable content, internal information may be incorporated into the generated report or otherwise exposed through the agent.
- Redirects or DNS rebinding could potentially bypass validation that is performed only on the initial URL.
Impact Assessment
Successful exploitation could permit access to HTTP resources reachable from the host browser but not dir ...[truncated 418 chars]
- Remediation
View remediation
Remediation Suggestions
- Permit only
httpsURLs unless another scheme is explicitly required. - Reject
file:,data:,javascript:,ftp:, and other non-web schemes. - Use an allowlist of approved conference, journal, regulator, and pharmaceutical publication domains.
- Resolve the destination hostname before navigation and reject loopback, link-local, private, multicast, reserved, and unspecified IP ranges for both IPv4 and IPv6.
- Repeat destination validation after every redirect.
- Protect against DNS rebinding by binding validation and connection resolution or by enforcing restrictions at an outbound proxy.
- Run browser automation in an isolated network namespace without access to host-local services, private networks, or cloud metadata endpoints.
- Require explicit user confirmation when a destination is outside the configured allowlist.
- Apply response-size and navigation-time limits to reduce denial-of-service exposure.
- Permit only
