ai-research-browser-cli — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ai-research-browser-cli (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill when the user wants to operate the ai_research_browser.py CLI, verify real logged-in AI-provider sessions, run E2E workflows, or understand which command/flag to use.
CLI path:
python3 skills/software-development/ai-research-browser/scripts/ai_research_browser.py9223; always verify the CDP owner/profile instead of trusting a port number.--browser comet --profile work --provider google --mode deep-research, with preferred port 9333 only after owner/profile verification. Preflight first, no --submit until the actual research prompt and quota permission are explicit.target_id, screenshot evidence, output text, and no challenge/rate-limit wall.--allow-paid-quota-use.<= 6,000 chars, default automated max <= 12,000 chars, review required above that, and block above 24,000 chars. See docs/DEEP_RESEARCH_PROMPT_BUDGETS.md.--artifact-privacy redacted by default. Use full only when the user explicitly needs raw URLs/text and accepts the privacy tradeoff.For the ambiguous one-line prompt "Starte Deep Research", do not route to a Brave-first fallback or a broad matrix. Start with the Comet/Gemini preflight:
python3 skills/software-development/ai-research-browser/scripts/ai_research_browser.py real-session-preflight \
--browser comet \
--profile work \
--provider google \
--port 9333 \
--output /tmp/arb-preflight-comet-gemini.jsonPort 9333 is not proof of Comet. If preflight says port_collision.detected=true or shows VS Code/Code Helper/non-CDP ownership on that port, do not block on 9333 and do not ask the user to manually reuse it. If the preflight also shows alternate_cdp.found=true, use its attach_port directly. Otherwise produce a recovery dry-run that lets the CLI choose a free loopback CDP port for the real Comet profile:
python3 skills/software-development/ai-research-browser/scripts/ai_research_browser.py browser-cdp-recover \
--browser comet \
--profile work \
--provider google \
--port 9333 \
--dry-run \
--output /tmp/arb-recover-comet-gemini.jsonOnly after the preflight proves the real account, plan, feature, screenshot, and CDP target should a paid Deep Research run be planned or submitted.
Before submitting a real Deep Research prompt, measure it:
python3 skills/research/comparison-deep-research/scripts/deep_research_prompt_budget.py \
--file /tmp/deep-research-prompt.txt \
--jsonpython3 skills/software-development/ai-research-browser/scripts/ai_research_browser.py discoverpython3 skills/software-development/ai-research-browser/scripts/ai_research_browser.py real-session-preflight \
--browser brave \
--profile work \
--provider chatgpt \
--port 9223 \
--output /tmp/arb-preflight.jsonpython3 skills/software-development/ai-research-browser/scripts/ai_research_browser.py workflow-live-run \
--browser brave \
--profile work \
--provider chatgpt \
--mode chat \
--cdp-port 9223 \
--prompt "Reply with exactly: CLI_SMOKE_E2E_OK" \
--submit \
--copy-output \
--response-timeout 120 \
--output /tmp/arb-live-smoke.jsonverified or a clearly successful captured result with output as success.--allow-paid-quota-use --confirm-start --max-daily-paid-runs 1For complete command recipes, status interpretation, recovery flows, and E2E checklists, read references/cli-reference.md.
Load the reference when:
blocked, timeout, real-session-required, signed-out-or-wall, or rate-limited;Before reporting completion after a code or skill change:
python3 -m py_compile skills/software-development/ai-research-browser/scripts/ai_research_browser.py
ruff check skills/software-development/ai-research-browser/scripts/ai_research_browser.py skills/software-development/ai-research-browser/tests/test_ai_research_browser.py
python3 -m unittest skills/software-development/ai-research-browser/tests/test_ai_research_browser.pyFor real E2E, start with one low-cost workflow-live-run against a verified account. Do not launch a broad paid matrix until single-flow evidence is green.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.