This directory contains the real public-agent evidence adapter for
browser-use.
The adapter connects browser-use to Tripwire’s controlled Chromium instance via CDP, then asks it to complete the local refund form across clean and adversarial browser scenarios.
Use an isolated environment. Do not commit API keys.
python -m venv .venv-browser-use
.\\.venv-browser-use\\Scripts\\Activate.ps1
.\\.venv-browser-use\\Scripts\\python -m pip install --upgrade pip
.\\.venv-browser-use\\Scripts\\python -m pip install --upgrade browser-use
.\\.venv-browser-use\\Scripts\\python -c "from browser_use.beta import Agent; print('browser-use ok')"
Set your model key in the current shell:
$env:OPENAI_API_KEY = "<your key>"
Optional model override:
$env:WITNORA_BROWSER_USE_MODEL = "gpt-4.1-mini"
From the repository root:
npm run tripwire:lab-browser-use
The Tripwire config launches python, so keep the venv activated in the shell
where you run npm run tripwire:lab-browser-use.
Tripwire writes:
public-demo/real-agent-robustness/evidence/browser-use/tripwire-result.jsonpublic-demo/real-agent-robustness/evidence/browser-use/tripwire-report.htmlThen generate a unified Witnora evidence bundle:
npm run agentcert:build
node packages/agentcert-cli/dist/cli.js run `
--tripwire public-demo/real-agent-robustness/evidence/browser-use/tripwire-result.json `
--out .agentcert/browser-use-real-agent `
--subject browser-use `
--replace
This is one public agent, one local task, one model/provider, and deterministic localhost pages. It is not a claim that browser-use is unsafe. It is a reproducible slice showing how browser agents behave when the page fights back.