Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f577c36. Configure here.
| entry.verdict === "blocked" && | ||
| entry.cdpDecision === "Fetch.failRequest" && | ||
| entry.host !== "news.ycombinator.com" | ||
| ); |
There was a problem hiding this comment.
Blocked-external assertion matches error-handler entries with null host
Low Severity
The blockedExternal filter uses entry.host !== "news.ycombinator.com", which also matches error-handler audit entries where host is null (since null !== "news.ycombinator.com" is true). This means the verification assertion "Expected one blocked off-domain request" could pass when the only "blocked" entry was caused by a handler error, not by the allowlist actually blocking an external domain. The filter needs an additional entry.host !== null check to only match genuine allowlist-based blocks.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit f577c36. Configure here.
With resourceType: "Document", only top-level page navigations (and iframes) get intercepted. CSS, JS, images, fonts, etc. all pass through untouched. |
codeCraft-Ritik
left a comment
There was a problem hiding this comment.
Great work! The implementation looks clean, and the change feels well-scoped.


Linear: https://linear.app/browserbase/issue/STG-1898/add-safe-browser-skill
Summary
safe-browserskill for local Claude Agent SDK constrained-browser demossafe_browserFetch.enable/Fetch.failRequestand write audit artifactsVerification
npm startinskills/safe-browser/templates/claude-agent-sdk-> PASS safe-browser Hacker News demonpm run buildcurrently fails before this change becausetsconfig.jsonhas no TypeScript inputs (TS18003)Note
Medium Risk
Adds a new executable Playwright/CDP demo template with network interception and local browser automation, which could be misused or be brittle across Chromium/CDP changes, but it’s isolated to new skill/template content.
Overview
Adds a new
safe-browserskill to the marketplace and README, documenting how to build constrained local browsing agents whose only capability is asafe_browsertool.Introduces a runnable Claude Agent SDK + Playwright template (
hn-scraper-demo.mjs) that enforces a domain allowlist via CDPFetchinterception (continueRequestvsfailRequest), logs tool/CDP/audit events, and writes verification artifacts (result, logs, screenshot) for a Hacker News scraping demo.Reviewed by Cursor Bugbot for commit f577c36. Bugbot is set up for automated code reviews on this repo. Configure here.