T05 · Unauthorized Access and Privilege Escalation
Error
- Location
- SKILL.md:4
- Finding
- Overly Broad Tool Permission Exposes Arbitrary Execution and Authenticated Browser Data## Vulnerability Details **File Location**: `SKILL.md:4` **Related Capability Locations**: `SKILL.md:33,69,85,89,130,154` **Vulnerability Type**: Excessive tool permissions and access to sensitive browser sessions **Risk Level**: High ### Vulnerable Code ```yaml allowed-tools: Bash(browser-use:*) ``` The unrestricted permission includes sensitive commands documented elsewhere in the file: ```bash browser-use --profile "Default" open <url> browser-use eval "js code" browser-use cookies export <file> browser-use python "code" browser-use profile sync --all ``` ### Technical Analysis The wildcard in `Bash(browser-use:*)` authorizes every `browser-use` subcommand rather than limiting the Skill to the navigation and form-interaction functions described by its primary purpose. The authorized command surface includes: - Persistent arbitrary Python execution through `browser-use python`. - Arbitrary JavaScript execution in a page context through `browser-use eval`. - Access to real Chrome profiles containing existing logins and cookies. - Export of browser cookies to local files. - Synchronization of browser profiles to cloud infrastructure. These capabilities violate least privilege because ordinary navigation, screenshots, and form filling do not inherently require arbitrary Python execution, cookie export, or cloud profile synchronization. The audit did not identify an embedded malicious payload, but an untrusted task or maliciously influenced agent could misuse the exposed capabilities. ### Attack Path 1. A user or untrusted instruction causes the Skill to operate against an authenticated browser profile. 2. The Skill invokes `browser-use --profile "Default" open ...`, gaining access to an existing authenticated browser session. 3. The attacker directs the agent to inspect account information, execute Python or page JavaScript, or export cookies. 4. Session data is written to a local file with `browser-use cookies export` or transferred us ...[truncated 854 chars]
- Remediation
- ## Remediation Suggestions - Replace `Bash(browser-use:*)` with an explicit allowlist containing only the commands required for navigation, state inspection, screenshots, and basic interaction. - Exclude `python`, `eval`, cookie export, profile synchronization, cloud login, and tunnel commands from the default permission set. - Use a dedicated, isolated browser profile without personal cookies, saved credentials, or existing authenticated sessions. - Require explicit, informed user confirmation before accessing a real Chrome profile or exporting any browser data. - Disable cloud synchronization by default and require a separate, narrowly scoped permission for each transfer. - Run the browser automation process in a sandbox with restricted filesystem, environment-variable, process, and network access. - Record and clearly display sensitive operations so users can review profile access, cookie handling, and external transfers.
