Give AI agents page automation and direct HTTP control to test web applications from an attacker's perspective. h5i lets them inspect, edit, replay, and compare traffic through one interface. Set sandbox and network limits, then review what they did.
curl -fsSL https://h5i.dev/install.sh | sh -s -- --websec
Many browsers and red-teaming tools were built for people, not AI agents. Automating them adds complexity, while controlling and auditing the agent's actions remains difficult.
h5i combines automated browsing with its own HTTP client. It gives AI agents direct access to captured requests and responses for web application penetration testing, CTFs, and red teaming. Use it only on applications you own or are authorized to test.
$ h5i browser open https://target.example --capture --allow target.example # keep every message $ h5i browser snapshot # the page as an outline $ h5i browser click @e7 # drive it like a user $ h5i websec requests --human # what the session sent #41 GET /login 200 2.1 kB #42 GET /api/item?id=123 200 1.4 kB $ h5i websec show req_42 --raw # byte for byte, as it went out GET /api/item?id=123 HTTP/1.1 host: target.example $ h5i websec replay req_42 --set query.id=456 # resend with one field changed res_43 200 1.9 kB $ h5i websec diff res_42 res_43 --human # how the two answers differ status : 200 → 200 bytes : 1412 → 1903 (+491) alike : 0.712 $ h5i websec match res_43 --contains "not your item" # exits 0 when it holds $ h5i websec sitemap --human # origins and endpoints reached target.example * /api/item GET 200 x3 ?id # Optional: open a separate browser session inside a container. $ printf '[profile.custom-sandbox]\nisolation = "container"\n' > .h5i/env.toml # a container-isolation profile $ h5i box --profile custom-sandbox --name custom-sandbox # create the box with it $ h5i browser open https://docs.rs/ --in custom-sandbox # open the session inside that box
@ref handles.
Pure Rust, no Chromium or V8: ~3× faster reads with ~86% less peak memory than headless Chromium
in our simple-site benchmarks.Monitor active sandboxes and browser sessions, inspect the pages agents see, review commands and network requests, and spot blocked actions or policy violations.
br_9f3k2a2m agobr_1qf62pjust nowbr_e3263j14m agobr_txrqd11h agobr_9f3k2a
waiting on you
6 refused
req_109GET200req_108, order=1042paste.example.invalid:443. This is host-observed: the proxy recorded it, not the box.net.egress api.anthropic.com, registry.npmjs.org, github.com · fs.write $WORK · secrets GITHUB_TOKEN (brokered) · wall 1800s · mem 4.0GRun authorized red teaming with configurable sandbox and network limits, and auditable browser sessions. Local-first, Apache 2.0, with no hosted service.
curl -fsSL https://h5i.dev/install.sh | sh -s -- --websec