REA가 248K 스타를 기록하다. 진짜 이야기는 더 무섭다.
요약
REA(Reverse Engineer Anything)는 MCP 서버이자 CLI 도구로, 기존 리버스 엔지니어링 도구(Ghidra, IDA 등)와 코딩 에이전트들을 연결합니다. 이 도구는 바이너리, JS/Electron 앱, .NET 어셈블리 등 다양한 형식의 소프트웨어 동작을 분석하여 의사 코드와 실행 추적을 제공합니다. REA가 혁신적인 것은 새로운 기술 도입이 아니라, 클로즈드 소스 소프트웨어를 보호하던 기존의 기술 장벽 자체를 제거하는 데 있습니다.
핵심 포인트
- REA는 MCP 서버이자 CLI 도구로 작동하며, 다양한 코딩 에이전트와 연결됩니다.
- 새로운 디컴파일러나 분석 기법을 도입하기보다 '오케스트레이션 레이어' 역할을 합니다.
- 바이너리, JS/Electron 앱, .NET 어셈블리 등 광범위한 소프트웨어 형식의 리버스 엔지니어링이 가능합니다.
- 핵심 가치는 클로즈드 소스 보호 장벽을 제거하는 데 있습니다.
REA가 24만 8천 개 스타를 기록하다. 실제 이야기는 더 무섭하다.
일주일 전, morluto/rea는 10,000개 미만의 GitHub stars를 가지고 있었습니다. 오늘날 그 숫자는 248,000개가 넘으며 — 이는 GitHub 역사상 가장 빠르게 성장하는 저장소 중 하나가 되게 했습니다. 수백만 명의 팔로워를 가진 AI 교육자 Matthew Berman은 이를 보고 "Software is done."이라는 두 단어를 게시했습니다.
그는 틀렸습니다. 하지만 그는 흥미로운 방식으로 틀렸으며 — 이 이유를 이해하는 것은 클라이언트 측 컴포넌트를 포함하여 소프트웨어를 배포하는 모든 팀에게 중요합니다.
REA는 "Reverse Engineer Anything"의 약자입니다. 이는 MIT 라이선스가 적용된 MCP(Microcontroller Protocol) 서버이자 CLI 도구로, 코딩 에이전트들 — Claude Code, Codex, Cursor, Gemini CLI — 을 Ghidra, Hopper, IDA와 같은 기존 리버스 엔지니어링 도구에 연결합니다. 에이전트는 기능 작동 방식을 묻습니다. REA는 디컴파일된 의사 코드(pseudocode), 실행 추적(execution traces), 그리고 구조화된 증거 기록을 제공합니다. 에이전트는 그 동작을 설명하거나 사용자의 스택에서 재구축합니다.
그 설명은 혁신적인 돌파구처럼 들립니다. 하지만 그렇지 않습니다. REA는 새로운 디컴파일러를 포함하고 있지 않습니다. 또한 새로운 정적 분석(static analysis) 기법을 도입하지도 않았습니다. 이것이 하는 일 — 그리고 스타 개수가 반영하는 것 — 은 더 중대한 것입니다: 수십 년 동안 클로즈드 소스 소프트웨어를 보호해 온 기술 장벽을 제거한다는 것입니다.
REA가 실제로 하는 것과 하지 않는 것
REA의 아키텍처는 얇은 오케스트레이션 레이어(orchestration layer)입니다. 프로젝트 자체 README에도 명확하게 설명되어 있습니다: "바이너리, 애플리케이션 및 런타임 동작 전반에 걸친 리버스 엔지니어링을 위한 단일 MCP." 내부적으로 무거운 작업은 수년 동안 존재해 온 도구들에 의해 수행됩니다:
- 네이티브 바이너리: Hopper, Ghidra 또는 IDA에 위임하여 의사 코드(pseudocode), 어셈블리, 심볼 및 호출 그래프를 분석합니다.
- JavaScript/Electron 앱: 애플리케이션을 실행하지 않고 모듈, IPC 경로 및 네이티브 애드온을 구문 분석합니다.
- .NET 어셈블리: IL 바이트코드를 정적으로 검사합니다.
- Android APK: JADX와 Apktool을 통합합니다.
- 웹사이트: 런타임 관찰을 위해 Chrome DevTools Protocol을 사용합니다.
- 펌웨어, WASM, EVM 바이트코드, SQLite 데이터베이스, 패킷 캡처 — 출시가 있을 때마다 목록이 계속 확장됩니다.
설정은 단일 명령어로 완료됩니다: npx rea-agents setup. 설치 프로그램은 사용자가 어떤 에이전트를 가지고 있는지 감지하고, REA를 MCP 서버로 등록하며, 에이전트에게 장치에 있는 모든 분석 엔진에 대한 구조화된 접근 권한을 제공합니다.
핵심 설계 결정은 Evidence v2 기록 시스템입니다. REA가 반환하는 모든 발견 사항에는 이를 생성한 공급자(provider), 신뢰 수준(confidence level), 그리고 한계점에 대한 명시적인 진술이 포함됩니다. 이것은 단순한 치장 기능이 아닙니다. 유용한 도구와 환각을 생성하는 장치를 구분 짓는 요소입니다. 에이전트가

하지만 과대광고 주기(hype cycle)는 이미 도구의 실제 역량을 앞지르고 있다.
주장: REA가 모든 앱을 복제할 수 있다. README에는 명시적으로 달리 적혀있다: "REA는 원본 소스 코드를 복구하거나 애플리케이션을 자동으로 클론한다고 주장하지 않습니다." 이것이 생성하는 것은 일회성 재현 엔진이 아니라, 의사 코드(pseudocode), 모듈 그래프(module graphs), 그리고 실행 추적(execution traces)이다.
주장: "소프트웨어는 끝났다." Brandon Thomas는 Adobe의 Creative Cloud를 미러링하는 오픈 소스 앱 세트인 ArtCraft를 구축하기 위해 Claude Opus 5.5를 사용했다. Thomas 자신은 처음에 한 달 안에 기능 동등성(feature parity)을 약속했지만, 이를 "1년 이내에 99% 달성"으로 수정했다. 현재까지의 커버리지실제 동등성은 25~35% 수준를 보면, 한 픽셀 아티스트는 Photoshop 클론을 "완전히 사용 불가능하다"고 평가했다. Thomas는 또한 ArtCraft가 REA로 만든 것이 아니라 공개 문서를 기반으로 구축된 클린룸 재구현(clean-room reimplementation)임을 명확히 했다.
주장: REA가 일반 에이전트보다 극적으로 우수하다. MindStudio의 직접 비교에서는 Mac의 Preview 앱을 재구축하는 과정에서 REA를 순수한 에이전트(리버스 엔지니어링 라이브러리가 없는)와 비교했다. 일반 에이전트가 가장 먼저 작업을 완료했다. MindStudio의 결론은 "REA가 견고한 결과를 냈지만, 스크린샷과 일반 추론을 바탕으로 작업하는 에이전트보다 극적으로 나은 수준은 아니었다"는 것이었다.
커뮤니티가 실제로 말하는 것

View discussion on Hacker News →
REA의 바이럴 순간을 이끈 Hacker News 스레드는 헤드라인이 암시하는 것보다 더 미묘한 이야기를 담고 있다 (805점, 337개 댓글).
가장 많이 추천된 회의적인 댓글은 모든 숙련된 리버스 엔지니어들이 무엇을 생각했는지 물었습니다: "Claude에게 Ghidra를 설치하라고 말하는 것보다 이게 정확히 어떻게 더 나은가요?" 다른 댓글 작성자들은 radare2, Binary Ninja, IDA Pro 모두 이미 자체 MCP 통합 기능을 가지고 있다고 지적했습니다. REA는 리버스 엔지니어링을 위한 유일한 MCP 서버는 아니지만, 바이럴이 된 것은 맞습니다.
실용적인 댓글들이 더 흥미로웠습니다. 한 사용자는 Codex를 사용하여 폐기된 MS-DOS 게임을 데이터 파일에서 재구축하는 방법을 설명했습니다. 또 다른 사용자는 실행 파일에서 오래된 Motorola MC68010 게임을 복구하는 것에 대해 질문했습니다. 세 번째 사용자는 Linux용 Xara Xtreme을 되살리는 것을 제안했습니다. 패턴은 명확합니다: 사람들은 경쟁 제품을 복제하기 위해서가 아니라, 소프트웨어 보존과 상호 운용성을 위해 REA를 원한다는 것입니다.
International Cyber Digest는 X에서 만연한 정서를 포착했습니다: "현재 GitHub에서 가장 많이 트렌딩되는 레포지토리: Reverse Engineer Anything. 소프트웨어는 죽었지만, 소프트웨어는 영원하다!"

하지만 이 스레드에서는 실제 우려 사항도 제기되었습니다. 여러 사용자가 최첨단 모델(frontier models)이 리버스 엔지니어링 요청을 아예 거부하는 경우가 있다고 보고했습니다. 이는 도구의 기능과 모델 제공업체의 안전 정책 사이의 긴장 관계입니다. 또한 한 댓글 작성자는 REA가 트렌딩된 지 몇 시간 만에 나타난, 공식 도구가 아닌 것을 다운로드하도록 사람들을 속이려는 유사 레포지토리에 대해 경고했습니다.

사칭 위험: REA README는 유사 레포지토리를 경고합니다. 트렌딩된 지 며칠 만에 최소한 하나의 모방작이 나타났습니다. 항상 공식
rea-agentsnpm 패키지 또는morluto/reaGitHub 저장소에서 설치하세요.
아무도 이야기하지 않는 정확성 문제
가장 엄격한 독립 테스트는 SystemDesign Academy에서 나왔으며, 이곳은 REA 6.4.0을 알려진 소스 코드를 가진 오픈소스 Electron 앱에 대해 실행했습니다.
결과는 혼재되어 있었습니다:
- 30/30 파일 및 라인 위치가 정확함 — REA는 코드베이스 내에서 요소들이 어디에 존재하는지 정확하게 인용했습니다.
- 18/17 IPC 채널을 발견함 — REA는 텍스트 검색이 놓친 별칭(aliased) 채널 하나를 실제로 찾아냈습니다.
- 0/8 응답 반환 위치를 발견하지 못함 — REA는 앱이 창에 응답을 보내는 모든 인스턴스를 완전히 놓쳤습니다.
- 1/8 창을 감지함 — 이 앱은 8개의 창을 생성하지만, REA는 1개만 찾아냈습니다.
- 0/4 nodeIntegration 설정을 발견하지 못함 — REA가 조용히 간과한 보안 관련 설정입니다.
결론: REA의 파일 및 라인 인용은 정확하지만, 커버리지는 불완전합니다. 이 도구의 침묵(missing finding)은 위험한데, 에이전트는 발견되지 않은 것을 부재의 증거로 취급할 것이기 때문입니다. 만약 REA가 Electron 앱이 nodeIntegration을 활성화한다는 사실을 보고하지 않는다면, 에이전트는 그 앱이 보안 모범 사례를 따르고 있다고 잘못 결론 내릴 수 있습니다.
보안에 가장 중요한 것은 커버리지 격차(Coverage gaps)입니다. REA는 Electron 앱의 nodeIntegration 설정 중 100%를 놓쳤는데, 이는 보안 감사가 절대 놓쳐서는 안 되는 바로 그러한 종류의 발견입니다. SystemDesign Academy의 검토가 말했듯이: "놓친 발견이 부재를 확립하지는 않습니다."
실제로 작동하는 사례 연구들
REA가 진정으로 빛을 발하는 곳은 전체 앱 복제(full app cloning)가 아닌, 좁고 검증 가능한 작업들입니다.
DX-Ball 사운드 팬 공식: REA는 2000년대 에라 게임 바이너리에서 벽돌의 수평 위치를 좌우 사운드 팬으로 매핑하는 로직을 복구했습니다. 재구축된 C 함수는 3,205개의 테스트 케이스에 대해 원래 x86 코드와 검증되었습니다. 고정된 VC4.0 툴체인 하에서 컴파일된 출력은 바이트 단위로 일치했으며, 총 63바이트였습니다. 더 넓은 프로젝트는 55개의 C 함수와 45,380개의 비교를 유지하고 있습니다.
Notion 클립보드 경로: REA는 Notion Desktop 7.6.1을 통해 복사-붙여넣기 체인(copy-paste chain)을 추적했습니다: clipboard.write 래퍼, ipcRenderer.invoke, ipcMain.handle 리시버를 거쳐 Electron 클립보드 API에 도달합니다. 이를 통해 notion:clipboard:write 채널 이름과 Notion 자체 웹 콘텐츠로만 클립보드 접근을 제한하는 발신자 검증(sender verification)을 식별했습니다. 또한, 사용자 정의 MIME 유형 아래 로컬에 저장된 블록 데이터와 연결되는 숨겨진 주석도 발견했습니다.
TH04 탄환 링: REA는 Ghidra를 사용하여 16비트 DOS 게임의 탄환 링 패턴 뒤에 있는 고정 및 목표 각도 계산을 복구했으며, 역사적 비교를 위해 C++로 로직을 재구축했습니다.
DX-Ball 사례 연구에서는 원본 x86 함수와 바이트 수준 매칭으로 3,205개의 테스트 케이스가 검증되었습니다. 더 광범위한 프로젝트는 55개의 C 함수와 45,380개의 비교를 유지하고 있습니다. 바로 이 지점에서 REA의 강점이 드러납니다 — 전체 애플리케이션을 복제하는 것이 아니라 특정 함수의 특정 질문에 답하는 것입니다. 패턴은 명확합니다: REA는 전체 애플리케이션 재현이 아닌, 특정 함수에 대한 특정 질문에 답변하는 것에 탁월합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기