Skip to content
NewMy Claude Code sessions now say which project they are
Nov 5, 2026·5 MIN READ
I tested the AI reverse engineering hype. The useful part was defence

I tested the AI reverse engineering hype. The useful part was defence

A list of 46 'an AI agent rebuilt this closed app' cases looked like a toolbox. The benchmarks on the same page show no real gain, and two of the three tools I tried do not run on a Mac. One defensive check was worth keeping.

I came across Awesome REA, a list of projects where an AI agent "reverse-engineered and rebuilt" closed software: old games, a Bloomberg-style terminal, a macOS calendar, a voice dictation app. My first question was the usual one: what can I use from this? This time I tried to answer it properly instead of starring the repo and moving on.

What REA is

REA (morluto/rea) is an MCP server. It does not decompile anything itself. It lets an agent like Claude Code drive Ghidra, IDA, Hopper or JADX and read what they return.

flowchart LR
    B["Closed app<br/>or binary"] --> D["Ghidra, IDA,<br/>Hopper, JADX"]
    D --> R[REA MCP server]
    R --> A[Coding agent]
    A --> M["Model provider<br/>sees the decompiled code"]
    A --> X[Rebuild]

The list has 46 cases. Each one has a tag that says how much proof there is: REA, AI-RE when another AI tool was used, or Claim? when nobody can confirm it.

Read the small print first

The best thing about the list is that it is honest. It has its own section on evidence, and that section reads like an argument against the rest of the page.

StudyRunsResult
rea-lab, five preregistered studies482No significant gain in solve rate. About twice the time and cost
rea-lab, study 24811 of 24 solved without REA, 4 of 24 with it (p = 0.092)
leanrea36A plain CLI skill scored 74/75, REA 75/75, at 38% less time and 35% less cost

The showcase cases also get smaller when you look closer. "Rebuilt DX-Ball" means one function checked byte by byte against the original, not the whole game. Most entries are ports of old games or demos for a write-up, not tools you would open on a Monday.

The list flags three more problems itself. The same agent reads the decompiled code and writes the rebuild, so it is not a real clean room. The decompiled code goes to the model provider, and REA's own security note says it is not a sandbox. IDA, Hopper and JEB need paid licences, and the terms of Anthropic and OpenAI forbid reverse engineering their own services.

What I tried on my Mac

From the 46, I picked the three that looked useful for day-to-day work, plus one defensive tool. Claude read each repo before I ran anything: what it installs, what it downloads, where it sends data. That review alone ruled out most of them.

Local dictation rebuild

123 lines of Python. Windows only, an English-only Whisper model, no licence file. A demo for a write-up, not a tool.

agent-sandbox

Needs Linux, Podman, SELinux and an x86_64 machine. It does not run on Apple Silicon.

rea-safe-agents

Runs on Docker Desktop with the network off and read-only mounts. Static analysis only, and the image build pulls a jar from an unknown GitHub account.

reaproof

MIT Node CLI with no dependencies and no telemetry. The only one I kept.

The useful part is defence

reaproof turns the question around. It does not ask what you can pull out of someone else's app. It asks what an agent can pull out of yours. It checks shipped builds for source maps that contain your source, server keys, .env values, stray .git or keystore files, and debug builds. It reads web build folders, APK and IPA files, native binaries, or a live URL.

check a live site
node bin/reaproof.mjs https://example.com --no-open

I ran it from a local clone, not with npx, because npx pulls whatever npm publishes at that moment. On mtl.dev it returned "baseline": no source maps exposed, no leaks found. A plain scan changes nothing. The only fix it offers is moving .map files to a backup folder, and only after you type yes.

It does not check Django or any Python backend. A Flutter app gets only generic APK and IPA checks, with no Dart analysis. It is also very young: all its releases came out in one week in October 2026.

What it took

Most of the time went into reading, not running. Reading each repo before installing it saved me from three setups that would never have worked on this machine. Next time a list like this lands in my feed, I will read the evidence section first and the showcase second, and I will add reaproof to the release checklist for the web builds I ship.

Share
Mariusz Smenżyk
Written by

Mariusz Smenżyk

Builder for sport. Make. Test. Launch.

Related notes