T09 · Insecure Skill Coding Practices
Error
- Location
- SKILL.md:51
- Finding
- Chrome Runs Without Its Security Sandbox<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 51-54 and 148-153 **Vulnerability Type**: Browser sandbox disabled in a privileged deployment **Risk Level**: High ### Vulnerable Code ```bash DISPLAY=:99 google-chrome-stable --no-sandbox --disable-gpu \ --remote-debugging-port=18800 \ --user-data-dir=~/.openclaw/browser/openclaw/user-data \ --window-size=1280,800 & ``` The proxy-enabled restart repeats the unsafe option: ```bash DISPLAY=:99 google-chrome-stable --no-sandbox --disable-gpu \ --remote-debugging-port=18800 \ --user-data-dir=~/.openclaw/browser/openclaw/user-data \ --window-size=1280,800 \ --proxy-server="http://127.0.0.1:18801" & ``` ### Technical Analysis The `--no-sandbox` option disables Chrome's operating-system-level process isolation. The Skill requires `sudo/root` access and demonstrates an SSH connection using `root@YOUR_VPS_IP`. If the browser stack is consequently launched as root, renderer processes handling untrusted websites can operate without the primary containment boundary intended to limit browser exploits. Disabling the sandbox is not inherently required to provide remote browser automation, noVNC access, or an authenticated proxy. Chrome can normally run with its sandbox enabled under a dedicated, unprivileged account. The instruction therefore exceeds the minimum privileges necessary for the declared functionality. The remote debugging service also controls the same browser that processes untrusted content. Although the documented invocation does not explicitly expose the debugging service on every interface, disabling the browser sandbox substantially raises the consequences of any browser, extension, or debugging-channel compromise. ### Attack Path 1. The administrator follows the Skill while logged in as root or otherwise starts Chrome with elevated privileges. 2. Chrome starts with `--no-sandbox`. 3. The automated browser visits an attacker-controlled or compromised website. 4. ...[truncated 943 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Create a dedicated, unprivileged operating-system account for the browser stack. 2. Remove `--no-sandbox` from both Chrome invocations. 3. Ensure Chrome's sandbox package and kernel features are available and correctly configured. 4. Give the browser account ownership only of its dedicated profile and runtime directories. 5. Do not start Chrome, Xvfb, x11vnc, or the proxy bridge as root. 6. Keep CDP bound to loopback explicitly where supported and restrict access through SSH tunneling or equivalent authenticated transport. 7. If a particular environment cannot support the Chrome sandbox, fail safely and explain the security limitation instead of disabling it by default. ]]>
