Show HN: Rever-browser – AI-agent browser for reverse-engineering

taevirus1 pts0 comments

GitHub - greekr4/rever-browser: AI agent browser for web reverse engineering · GitHub

/" data-turbo-transient="true" />

Skip to content

Type / to search

Sign in<br>Sign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

greekr4

rever-browser

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>167 Commits<br>167 Commits

.github/workflows

.github/workflows

build

build

docs

docs

resources

resources

scripts

scripts

site

site

src

src

test-fixtures

test-fixtures

.gitignore

.gitignore

LICENSE

LICENSE

NOTICE

NOTICE

README.md

README.md

bun.lock

bun.lock

electron.vite.config.ts

electron.vite.config.ts

package.json

package.json

tsconfig.json

tsconfig.json

tsconfig.node.json

tsconfig.node.json

tsconfig.web.json

tsconfig.web.json

vitest.config.ts

vitest.config.ts

View all files

Repository files navigation

rever-browser

The AI browser for API reverse engineering.

🌐 Website

Demo · What is it? · Features · Getting started · Architecture

Demo

Ask in plain English — the agent drives a real browser, finds API flaws, proves them live, and turns it into a one-click macro.

▶ Watch the full demo

What is rever-browser?

rever-browser is an Electron app that pairs a real Chromium tab with an ACP-based coding agent. You browse a target site in an embedded ; the app captures every network request via the Chrome DevTools Protocol, and the agent can read that traffic, analyze the site's JavaScript bundles, and drive the tab itself through an in-process MCP tool server. The goal is to go from "what requests does this site make?" to "here is how to reproduce its API" without leaving the app.

Features

Live traffic capture — All Network.* events from the browsed tab are recorded into a ring buffer. Response bodies are fetched lazily and image/video/font/CSS payloads are skipped to keep the buffer lean.

AI agent chat — Talk to a coding agent that sees the captured traffic and can act on the page. Claude Code is the default; Codex is also supported.

Browser automation — The agent can navigate, click, type, scroll, screenshot, and take accessibility snapshots of the live tab.

Bundle analysis — Grep, extract, detect the bundler for, and deobfuscate the JavaScript already captured in the traffic store (no re-download), including a webcrack-backed deobfuscator.

Deep API tooling — A broad MCP tool set covering request repeater, intruder, header/override editing, HAR export, source-map recovery, crypto/decode helpers, WebSocket and service-worker inspection, and more.

Requirements

Bun (used as the package manager — not npm/pnpm)

Node.js (for the ACP agent binaries below)

Agent binaries on your PATH:

claude-agent-acp — required for the default Claude Code agent<br>npm i -g @agentclientprotocol/claude-agent-acp

codex-acp — required for the Codex agent<br>npm i -g @agentclientprotocol/codex-acp

webcrack on your PATH (optional) — enables the deobfuscate_script tool

Getting started

bun install # install dependencies<br>bun run dev # start electron-vite dev (main + preload + renderer with HMR)

Other commands:

bun run build # production build to out/<br>bun run typecheck # type-check with tsconfig.node.json + tsconfig.web.json

If HMR doesn't pick up a change to main- or preload-process code, kill the Electron process and re-run bun run dev:

pgrep -f "Electron|electron-vite" | xargs -r kill -9

Usage

Run bun run dev to launch the app.

Enter a URL in the embedded browser and navigate to your target site.

Interact with the site — requests appear live in the traffic list as they happen.

Open the chat panel, pick an agent (Claude Code or Codex), and ask it about the captured traffic — for example, to explain an endpoint, reconstruct an auth flow, or generate client code that reproduces a request.

The agent reads the traffic store and drives the tab through MCP tools to answer.

Architecture

Three Electron processes with strict separation; all cross-process work goes through preload IPC.

main (src/main/) — Node + Electron APIs. Owns the 's CDP debugger, spawns ACP agent processes, and hosts the in-process HTTP MCP server the agent calls back into.

preload (src/preload/index.ts) — The single source of truth for the renderer-visible surface, exposed as window.rev via contextBridge.

renderer (src/renderer/src/) — React 19 + Vite. Hosts the tag and the chat UI.

Data flows

Traffic capture: webview Network.* events → main/chrome-cdp.ts → main/traffic-store.ts → renderer (TrafficList)

Agent loop: ChatPanel → ACPChatTransport → preload IPC → main/acp-session.ts → ACP agent child process → MCP...

agent browser json electron traffic main

Related Articles