Back to skill

Security audit

Browser Use 3.0

Security checks for vulnerabilities and agentic risk

Overview

This browser automation skill is coherent and disclosed, but users should be careful because local mode can control signed-in Chrome sessions.

Install only if you are comfortable letting the agent drive a browser. Use an isolated cloud browser or separate profile for sensitive sites, approve logged-in account actions explicitly, avoid blind updates, and close any cloud browsers when finished.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:18
Finding
Unverified Third-Party Installation and Unattended Dependency Updates<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:18-23` and `SKILL.md:206` **Vulnerability Type**: Supply-chain exposure through dependency installation and non-interactive updates **Risk Level**: Medium ### Vulnerable Code ```json "install": [ { "id": "uv", "kind": "uv", "package": "browser-use==0.13.4", "bins": ["browser-use"], "label": "Install Browser Use CLI 3.0 (uv)", }, ], ``` ```bash browser-use --update -y ``` ### Technical Analysis The Skill installs the third-party `browser-use` package from a package source without specifying a cryptographic hash, signed release artifact, or immutable source revision. Although the initial dependency is pinned to version `0.13.4`, version pinning alone does not verify artifact integrity or protect against compromise of the package publisher, registry, configured package index, or distribution channel. The documented `browser-use --update -y` command introduces additional risk because it authorizes a non-interactive update without identifying a reviewed target version. The executable code used by the Skill can therefore change after the Skill itself has been audited. This dependency is security-sensitive because the documented CLI can control authenticated local browser sessions, execute JavaScript in browser pages, upload local files, connect to remote CDP endpoints, make network requests, and create cloud browser sessions. Consequently, compromise of the installed package or its updater could expose capabilities beyond those visible in the reviewed `SKILL.md`. No evidence was found that the current package is malicious. The vulnerability is the absence of sufficient integrity and update controls around executable third-party code. ### Attack Path 1. An attacker compromises the package publisher account, package registry, configured index, release infrastructure, or CLI update channel. 2. The attacker publishes or serves a modified package or update containing malici ...[truncated 1491 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Retain strict version pinning and permit installation only from an explicitly trusted package index. 2. Require cryptographic hashes for every accepted distribution artifact, such as through a lock file or hash-enforced installation mode. 3. Prefer signed release artifacts and verify signatures against a pinned, independently validated publisher key. 4. Remove the generic `browser-use --update -y` recommendation. 5. Replace unattended updates with a version-specific procedure that: - identifies the exact target version; - verifies its hash or signature; - reviews release notes and dependency changes; - tests the release in an isolated environment; and - requires explicit approval before deployment. 6. Run the dependency with least privilege and isolate it from unrelated files, environment variables, credentials, and browser profiles. 7. Prefer an isolated cloud or disposable browser profile for sensitive automation rather than attaching by default to a user's authenticated local Chrome session. 8. Maintain a reviewed dependency lock file and periodically audit both direct and transitive dependencies. ]]>
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Credential Access

High
Category
Privilege Escalation
Content
## Browser Modes

- **Local Chrome (default)**: attaches to the user's running Chrome/Chromium via CDP — preserves logins and cookies. No browser ids or profile selection needed.
- **Cloud browser**: fresh, isolated, managed Chrome hosted by Browser Use — see Cloud Browsers below.
- **Explicit endpoint**: set `BU_CDP_URL` (HTTP DevTools endpoint) or `BU_CDP_WS` to target any CDP browser.
Confidence
80% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Static analysis

No suspicious patterns detected.