Skip to main content
Back to timeline
morluto/reaSource publication:

Read a feature without its source: REA hands your agent evidence from binaries, Electron apps and websites

Synopsis

REA connects an agent to a set of local analysis tools for inspecting native binaries, JavaScript and Electron apps, .NET assemblies and websites, so the agent can explain how a feature works without source code and return the evidence and limitations behind each conclusion. It registers with agents such as Claude Code, Codex, Cursor and Gemini CLI through MCP, offers the same workflows from the terminal, can reuse an existing Hopper, Ghidra or IDA installation for native analysis, and needs no native analysis engine for static JavaScript analysis.

Source-provided article image: morluto / rea
GitHub Trending

Interpretation

An agent can now answer how a shipped application implements a feature and hand back that answer together with its evidence, without first obtaining the application's source code. Understanding a feature previously required readable source, or inference from external behavior alone. REA lists native binaries, JavaScript and Electron apps, .NET assemblies and websites as inspectable targets, and states that results include the evidence and limitations behind each conclusion.

The agent calls REA through MCP, and REA inspects the target and traces the relevant code before returning findings with their evidence. MCP here is the interface through which an agent calls an external tool, and REA registers as a server behind it. Setup runs as npx rea-agents setup and supports Claude Code, Codex, Cursor, Gemini CLI, Grok Build and other agents, backing up existing configuration and requiring an agent restart.

Analysis runs locally, and the command line uses the same workflows as the agent. Native analysis can reuse an existing Hopper, Ghidra or IDA installation, while static JavaScript analysis needs no native analysis engine. The command-line example is npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json, whose result includes modules, imports, Electron boundaries and their evidence.

Perspective

The tools address researchers and engineers who need to understand how a shipped application implements a feature, covering native binaries, JavaScript and Electron apps, .NET assemblies and websites, with analysis running locally and results carrying evidence and limitations. Native analysis can reuse an existing Hopper, Ghidra or IDA installation, and static JavaScript analysis needs no native analysis engine. Running it requires Node.js 22.x (>=22.19), 24.x (>=24.11) or 26+, plus npm, and additional tools and host support depend on the target.

The material states that REA changes quickly and that new releases include frequent bug fixes, so keeping the installation up to date is advised. On Linux, Ghidra, JADX, firmware tool launches and static JavaScript/Electron analysis require a procps-compatible ps on REA's PATH for process ownership checks, with recovery steps in docs/installation.md under "Linux owned-process prerequisite". Bun global updates require Bun 1.2.17 or later, and older Bun releases must be upgraded manually first.