·
Last changedVersion:
This version passed the hardening gate. Hardening applied 34 targeted changes, deleted the lines high-severity poisoning findings flagged in 1 file before any model saw the skill, and preserved all other text. Classified findings before hardening: 8. Classified findings closed: 3. Classified findings remaining: 5. Unclassified scanner findings remaining: 0. Review findings closed: 16. Review findings remaining: 2.
1
2
5
1
4
Expand | File | Group | Subtype | Severity | Status |
|---|---|---|---|---|---|
REFERENCE.md | Prompt Injection | — | High | Closed | |
SKILL.md | Memory & Context Poisoning | — | Medium | Open | |
SKILL.md | Prompt Injection | Direct prompt injection | Medium | Closed | |
SKILL.md | Malicious Code & Command Execution | — | Low | Open | |
REFERENCE.md | Prompt Injection | Third-party content as instructions | Low | Open | |
SKILL.md | Prompt Injection | Third-party content as instructions | Low | Open | |
SKILL.md | Supply Chain & Install-Time Trust | Install-time download and execute | Low | Open | |
SKILL.md | Prompt Injection | Indirect prompt injection | Low | Closed |
8 findings
Automate browser interactions using the browse CLI with Claude.
Before running any browser commands, verify the CLI is available:
If the CLI is missing, stop and ask the user to install the browse package themselves, after they confirm the publisher is Browserbase and choose a pinned exact version.
--local or --remote on the first browser command, and default to --local.--auto-connect only when the user explicitly asks for it for a named site. It exposes the user's logged-in sessions and cookies, so stay on the requested site and read only the data the task needs.--cdp only with a local endpoint the user supplies, or with the connectUrl returned by browse cloud sessions create. CDP grants full browser control, including cookies.BROWSERBASE_API_KEY in their own environment. Check only that it is present, for example with browse status, and keep its value out of commands, chat, logs and web pages.browse get url before typing credentials.which browse presence check. Run eval, network capture and cloud session commands only when the task needs them and the user agrees.The CLI supports explicit per-command environment flags. If you do nothing, the next session defaults to Browserbase when BROWSERBASE_API_KEY is set and to local otherwise. Always pass --local or --remote explicitly on the first command.
browse open <url> --local starts a clean isolated local browserbrowse open <url> --auto-connect attaches to an already-running debuggable Chrome and its logged-in sessions; use it only when the user explicitly asks, and use --local otherwisebrowse open <url> --cdp <port|url> attaches to a specific CDP target supplied by the user (see Safety rules)browse open <url> --remote starts a Browserbase sessionBROWSERBASE_API_KEY is set; pass a mode flag explicitly instead of relying on this defaultbrowse open <url> --localbrowse open <url> --auto-connectMost driver commands work across local, remote, and CDP sessions after the daemon starts.
Use browse snapshot as your default for understanding page state — it returns the accessibility tree with element refs you can use to interact. Only use browse screenshot when you need visual context (layout, images, debugging). Save screenshots inside the current workspace.
Wrap every selector, value, text and URL argument in single quotes. Get the user's confirmation before submitting forms, entering credentials or taking other state-changing actions.
If the environment matters, put --local, --remote, --auto-connect, or --cdp <port|url> on the first browser command.
browse open <url> --local or browse open <url> --remote — navigate to the pagebrowse snapshot — read the accessibility tree to understand page structure and get element refsbrowse click <ref> / browse type <text> / browse fill <selector> <value> — interact using refs from snapshot; get the user's confirmation before submitting forms, entering credentials, purchasing, posting or changing account settingsbrowse snapshot — confirm the action workedbrowse stop — close the browser when done| Feature | Local | Browserbase |
|---|---|---|
Speed | Faster | Slightly slower |
Setup | Chrome required | API key required |
Reuse existing local cookies | With | N/A |
Verified browser | No | Yes (Browserbase Verified browser via Identity) |
CAPTCHA solving | No | Yes (automatic reCAPTCHA/hCaptcha) |
Residential proxies | No | Yes (201 countries, geo-targeting) |
Session persistence | No | Yes (cookies/auth persist via contexts stored at Browserbase, with user opt-in) |
Best for | Development/simple pages | Protected sites, Browserbase Identity + Verified access, production scraping |
browse open <url> --local for clean state, use browse open <url> --auto-connect only when the user explicitly asks to reuse existing local credentials, and use browse open <url> --remote for protected sites after the user approvesbrowse open first before interactingbrowse snapshot to check page state — it's fast and gives you element refsbrowse click @0-5browse stop when done to clean up the browser session and clear the env overridebrowse stop, then check browse status. If it still says running, run browse stop --force; if the daemon is still running after that, report it to the user so they can end that specific process, then retry browse openbrowse open <url> --auto-connect if you already have a debuggable Chrome running, or switch to browse open <url> --remotebrowse snapshot to see available elements and their refsBROWSERBASE_API_KEY is set in their environment and check browse status; keep the key value out of outputWhen you detect CAPTCHAs (reCAPTCHA, hCaptcha, Turnstile), bot detection pages ("Checking your browser..."), HTTP 403/429, or empty pages on sites that should have content, stop and ask the user before switching to remote mode. Switch when the user asks for it or approves, is authorized to access the site, and the access respects the site's terms and rate limits.
Don't switch for simple sites (docs, wikis, public APIs, localhost).
Mode flags are applied when a session starts. After browse stop, the next start falls back to env-var-based auto detection. Use browse status to inspect the resolved mode and target while the daemon is running.
For detailed examples, see EXAMPLES.md. For API reference, see REFERENCE.md.
Get started with chainctlchainctl skill install public/browserbase/browser:latest
Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.
skills.cgr.dev/public/github.com/browserbase/skills/browser:latest
MIT
EXAMPLES.md
HARDENING.md
LICENSE
REFERENCE.md
SKILL.md