T09 · Insecure Skill Coding Practices
- Location
REFERENCE.md:189- Finding
Persistent Weakening of Browser Sandbox and SSRF Controls
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This browser-testing skill is mostly aligned with QA work, but it asks agents to make persistent browser security changes and use high-privilege browsing paths without enough scoping or warnings.
Install only if you are comfortable with an agent that can log into test sites, alter OpenClaw browser security settings, run an external setup script, and possibly use local browser sessions, tunnels, cloud browsers, proxies, or anti-bot/CAPTCHA tooling. Use dedicated least-privilege test accounts, avoid personal browser profiles, approve any allowlist or noSandbox change explicitly, and restore browser configuration after testing.
REFERENCE.md:189Persistent Weakening of Browser Sandbox and SSRF Controls
SKILL.md:19Execution of an Unpinned and Unaudited External Setup Script
REFERENCE.md:90Static Scanner Alerts for curl Piping and Base64 Decoding Are Non-Exploitable in Context
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
sleep 2 # wait for it to start
# 2. Navigate to the target page
curl -s http://localhost:9223/json/new?about:blank # create a new tab
TARGET_ID=$(curl -s "http://localhost:9223/json" | python3 -c \
"import json,sys; t=[x for x in json.load(sys.stdin) if x.get('type')=='page']; print(t[0]['id'])")
The file advises disabling the browser sandbox by setting noSandbox=true. Running a browser without its sandbox significantly reduces isolation against malicious web content, making compromise of the host/container more likely during routine testing of untrusted sites.
The instructions tell the agent to modify SSRF protection allowlists to permit arbitrary target and SSO domains. Weakening SSRF controls expands the set of hosts the browser can reach and creates a path to access unintended internal or sensitive endpoints under the guise of testing.
The skill explicitly asks the user for a test account and password without any warning, minimization guidance, or secure-handling constraints. This creates a high risk of unnecessary credential exposure to the agent and downstream tools, especially given the skill also performs browser automation and external navigation.
The skill recommends anti-bot, CAPTCHA, residential proxy, and cloud-browser features as ordinary fallback options. Those are bypass-oriented capabilities that can facilitate testing against services in ways that evade site protections and obscure origin, which exceeds normal functional testing and increases abuse potential.
The reference explicitly recommends reusing the user's local Chrome profile and using tunnel capabilities, which can expose authenticated sessions, cookies, and access to internal resources far beyond ordinary browser QA. In a testing skill, these capabilities materially expand privilege and data reach, so using them without strict consent and scope controls is dangerous.
Guidance to reuse the user's local Chrome login session lacks any warning that the agent may gain access to authenticated websites, stored cookies, and personal or corporate data. In this skill context, that omission can cause over-collection or misuse of sensitive session data during seemingly routine testing.
The tunnel guidance omits any warning that exposing internal services can broaden network attack surface and route traffic to systems not intended for external access. In a browser-testing skill, presenting tunneling as a normal option makes misuse or accidental exposure more likely.
The trigger phrases include generic requests like "test this" and "help me test," which are broad enough to activate during ordinary conversation. Over-broad activation is dangerous in this context because the skill can collect credentials, navigate externally, and perform environment changes, so accidental invocation can lead to unintended sensitive actions.
The skill instructs the agent to modify a local SSRF allowlist in ~/.openclaw/openclaw.json and restart browser/gateway services. That expands the skill from web testing into changing host security boundaries and platform state, which could be abused to authorize access to additional internal or sensitive domains under the guise of testing.
The skill directs execution of a shell setup script for environment remediation, which grants system-setup capability beyond the declared testing function. Running local scripts from a testing skill increases the attack surface because the script could alter the host environment, install packages, or make persistent changes unrelated to the user's immediate request.
The troubleshooting section includes specific handling for Chinese text rendering (:lang=zh) and names a Chinese font expectation, but does not frame this as optional or region-specific. This can be read as locale-specific guidance embedded in the skill without an explicit user opt-in or documented locale scope.
No suspicious patterns detected.