
pablodiazjorge/rea-lab

Windows 上的實驗環境:固定工具版本、跑健康檢查並提供小型挑戰,用來量測 REA 與 Ghidra 實際能給代理人什麼。

pablodiazjorge/rea-lab

Windows 上的實驗環境:固定工具版本、跑健康檢查並提供小型挑戰,用來量測 REA 與 Ghidra 實際能給代理人什麼。
安裝方式請查看原始來源。
rea gives coding agents (Claude Code, Codex, Cursor and others) MCP tools to reverse engineer software, from app behaviour down to native binaries. Three gaps stand out on Windows:
This lab works on those three gaps: it contributes Windows verification upstream, builds a reproducible benchmark with known answers, and ships a Claude Code mod that shows the agent's evidence live.
There are no dates: each phase closes when it meets its exit criteria.
| Phase | Goal | Status | |---|---|---| | F0 | Public foundations: rules, decisions and checks | done | | F1 | Reproducible environment and per-project MCP registration | done | | F2 | Contributions to rea from a real Windows machine | ongoing | | F3 | Seeded challenges with known answers and first writeups | in progress | | F4 | Benchmark and study 1: what rea adds to an agent | done | | F5 | Claude Code mod with a live evidence pane | done | | F6 | Second upstream wave, improved skill, second agent | planned | | F7 | Dynamic analysis inside Windows Sandbox | optional |
rea doctor --provider ghidra passes every check, including the native authority self-test that fails on other machines (morluto/rea#1701).WinHelloCPP.exe, an exercise shipped with Ghidra, analysed in about 25 s (6 segments, 388 functions, 254 strings), with no leftover processes or temporary files.evidence_id values, a journal per session and Markdown or artifact exports.| Path | Content |
|---|---|
| AGENTS.md | Instructions for coding agents (CLAUDE.md imports it) |
| docs/adr/ | Architecture decision records |
| docs/guides/ | How-to guides, such as the portable per-project MCP registration |
| writeups/ | Investigations with their sanitised Evidence: WinHelloCPP, Wallace v1 against v2, c02-xor at -O0 and -O2, study 1 |
| challenges/ | Seeded practice challenges with known answers, built reproducibly |
| bench/ | Benchmark harness: isolated claude -p runs, deterministic graders, rea's own evaluation code, paired statistics |
| tools.json | Tool versions, download URLs and SHA-256 hashes |
| scripts/setup.mjs | Downloads, verifies and extracts the tools into tools/ |
| scripts/rea-mcp.mjs, .mcp.json | rea's MCP server, registered for this project only |
| .claude/settings.json | rea tools allowed; tools that run a target or a device denied |
| scripts/check.mjs | Repository checks: personal data, bilingual parity, links, style |
| env.ps1 | rea, Ghidra and clang for the current PowerShell session |
| .github/workflows/ | CI: checks on every push, real Ghidra on Windows every week |
| tools/, targets/, repos/ | Local tools, analysis targets and nested repositories (not in git) |
Requirements: Windows 10 or later (x64) and Node.js 22.19 or later. npm run setup downloads Ghidra 12.1.4, Temurin JDK 21 and llvm-mingw (about 920 MB), verifies every SHA-256 before extracting and keeps everything inside tools/: nothing is installed system-wide.
npm ci
npm run setup
. .\env.ps1
rea doctor --provider ghidra --json
Then open Claude Code in this folder and approve the rea server from .mcp.json: the agent gets rea's tools for this project only, with no personal paths in the configuration. The first Ghidra-backed query imports and analyses the binary, which takes about half a minute for a small executable.
Only binaries built here, the exercises that ship with Ghidra, and crackmes or finished CTF challenges whose rules allow writeups. Third-party binaries are analysed statically and never run on the host; anything dynamic happens inside Windows Sandbox without network access. Commercial software, online games, DRM and anything related to the author's employer are out of scope. Details and legal basis in ADR 0010.
Every hard-to-reverse decision has a short record in docs/adr: repository layout, language policy, the portable MCP launcher, pinned versions, target policy, benchmark isolation and how the lab contributes to rea.
Code is released under the MIT License. Text (READMEs, guides, ADRs, writeups) and benchmark results are released under CC BY 4.0.