REA는 Reverse Anything의 약자로, 소스 코드 없이 소프트웨어를 분해할 수 있는 도구를 코딩 에이전트에 제공하는 오픈소스 MCP 서버이자 CLI입니다. Claude Code, Codex, Cursor 또는 다른 에이전트를 네이티브 바이너리, Electron 앱, .NET 어셈블리, Android APK, 웹사이트, 저장된 네트워크 캡처를 향하게 하고 특정 기능이 어떻게 동작하는지 물으면 REA는 의사 코드, 모듈 그래프, 요청 로그, 각 주장의 근거가 되는 증거를 반환합니다. 그런 다음 에이전트가 그 동작을 설명하거나 다시 구현합니다.
morluto/rea 리포지토리는 2026년 4월에 만들어졌고 10월 첫째 주까지 거의 주목받지 못했습니다. 10월 12일까지 스타 115,000개와 포크 25,000개를 넘기며 GitHub가 본 가장 빠른 상승 중 하나를 기록했습니다. 이 가이드는 REA가 하는 일, 설치 방법, 강점과 과장이 실제를 앞서는 지점, 그리고 많은 보도가 놓치는 부분인 HAR 및 mitmproxy 캡처 읽기를 다룹니다. 덕분에 Apidog에서 완료할 수 있는 API 리버스 엔지니어링 프론트엔드로 활용할 수 있습니다.
과열 속의 숫자
Trendshift의 일일 추적은 급등의 형태를 보여줍니다. REA는 10월 4일 하루 약 1,400개의 신규 스타와 함께 트렌딩 목록에 처음 등장했고, 이후 일주일 동안 누적 성장했습니다.
| 날짜 | 그날 신규 스타 |
|---|---|
| 10월 4일 | 1,373 |
| 10월 7일 | 5,602 |
| 10월 9일 | 19,375 |
| 10월 10일 | 26,572 |
| 10월 11일 | 31,255 |
이 리포지토리는 10월 6일부터 12일까지 7일 중 5일 동안 GitHub Trending 1위를 유지했습니다. 릴리스도 같은 속도를 따라갔습니다. 버전 3.2는 10월 3일, 4.0은 10월 5일, 5.0은 10월 7일, 6.0은 10월 8일에 나왔고 6.1부터 6.4까지는 10월 9일부터 11일 사이에 출시됐습니다. 이 페이스는 도입을 고려하는 사람에게 중요하며, 이후 다시 언급합니다.
이 급증을 설명하는 단일 트윗이나 출시 글은 없습니다. 피치 자체가 효과를 냈습니다. "마음에 드는 기능을 보라. 그것이 바이너리 수준에서 어떻게 동작하는지 이해하라."라는 문장이었습니다. 에이전트가 바이너리에서 데스크톱 앱을 다시 만드는 데모 영상이 빠르게 퍼졌고, 늘 그렇듯 소프트웨어는 끝났다는 주장도 함께 확산됐습니다. 더 유용한 해석은 더 좁습니다. REA는 에이전트와 이미 존재했던 리버스 엔지니어링 도구를 연결하는 잘 포장된 커넥터입니다.
REA가 하는 일
REA는 로컬 MCP 서버로 실행됩니다. 에이전트가 REA 도구를 호출하면 REA가 적절한 엔진으로 대상을 조사하고, 에이전트는 구조화된 결과와 그 한계, 알 수 없는 부분을 받습니다. 같은 워크플로는 CLI 명령으로도 사용할 수 있어 에이전트 없이 스크립트로 처리할 수 있습니다.

README의 대상 표를 기준으로 분석하는 내용은 다음과 같습니다.
| 대상 | REA가 반환하는 것 | 필요 항목 |
|---|---|---|
| 네이티브 바이너리 | 의사 코드, 어셈블리, 문자열, 심볼, 교차 참조 | Hopper, Ghidra 또는 IDA |
| Go 바이너리 | 컴파일러 버전, 모듈, 빌드 설정 | 추가 불필요 |
| JavaScript 및 Electron 앱 | 모듈, 임포트, 소스 맵, 라우트, IPC 경계 | Node.js만 |
| 웹사이트 | 페이지 구조, 스크립트, 네트워크 관찰, 스크린샷 | Chrome 계열 브라우저 |
| 저장된 네트워크 캡처 | 요청, 응답, 페이로드, 소스 위치 | HAR. mitmproxy는 Linux의 mitmdump |
| .NET 어셈블리 | 메타데이터, CIL, 네이티브 의존성 | 추가 불필요 |
| Android APK와 기기 | 매니페스트, 디컴파일된 메서드, 로그, 화면 캡처 | JADX와 JDK. adb |
| 펌웨어 | 영역, 추출 결과 | Linux의 Binwalk 또는 Unblob |
| WASM 및 EVM 바이트코드 | 섹션, 임포트와 익스포트, 디스패치 셀렉터 | WABT. Linux x64 |
REA를 얇은 래퍼와 구분 짓는 설계 선택은 증거 모델입니다. 모든 결과에는 출처가 따라옵니다. 파일 다이제스트, 바이트 범위, 캡처 안을 가리키는 JSON 포인터, 그리고 분석이 확정하지 못한 항목의 명시적 목록입니다. 프로젝트는 문서에서 이 점을 반복해서 강조합니다. 분석은 사용자의 머신에서 실행되지만, README의 FAQ는 에이전트의 모델 제공자가 자체 데이터 정책에 따라 도구 결과를 여전히 받는다고 명확히 말합니다.
REA 설치 방법
Node.js 22.19 이상(23과 25는 지원하지 않음)과 npm이 필요합니다. 명령 한 줄로 MCP 서버를 등록하고 해당 에이전트용 매칭 스킬 지침을 설치합니다.
npx rea-agents setup
설치 과정은 계획을 보여주고 기존 설정을 백업한 뒤 승인 후에만 기록합니다. 설치 가이드에 따르면 Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf, Devin, OpenCode, Antigravity, GitHub Copilot CLI, VS Code, Grok Build, Hermes 등을 지원하며 --client 플래그로 선택할 수 있습니다. 이후 에이전트를 재시작하고 다음처럼 요청하세요.
Understand how search works in the Notes app, show me the evidence,
and build a similar feature for my project.
전역 CLI는 다음과 같습니다.
npm install --global rea-agents
rea doctor --json
정적 JavaScript, .NET, 웹사이트, 캡처 분석은 추가 엔진 없이 동작합니다. 깊은 네이티브 분석에는 Hopper, JDK 21 이상을 포함한 Ghidra 12.1 또는 IDA가 필요합니다. 설치 과정에서 승인하면 Hopper를 설치할 수 있지만 Hopper는 별도 라이선스를 가진 상용 소프트웨어입니다. Windows의 Ghidra는 실험적 단계로 표시되어 있습니다.
쇼케이스로 보는 강점
프로젝트 자체의 사례 연구가 가장 정직한 벤치마크입니다. DX-Boll 연구에서 에이전트는 사운드 호출을 position-to-pan 헬퍼까지 추적하고 불완전한 의사 코드를 C로 바꿨습니다. 재구현 결과는 원래 x86 테스트 케이스 3,205개를 통과했고 컴파일된 함수 바이트 63바이트를 모두 재현했습니다. Notion 연구에서는 클립보드 API를 렌더러에서 preload와 IPC를 거쳐 Electron 메인 프로세스까지 추적했습니다. 세 번째 사례에서는 1990년대 PC-98 게임의 16비트 명령에서 총알 링 각도 계산을 복원했습니다.
패턴을 주목하세요. 이들은 검증 수단이 있는, 하나의 함수나 하나의 데이터 경로에 대한 범위가 좁은 질문입니다. 오늘날 에이전트 기반 리버스 엔지니어링이 작동하는 영역이 바로 여기입니다. "이 전체 앱을 다시 만들어" 데모는 영상에서는 좋아 보이고 대상과 비슷한 무언가를 만들어내지만, 간단한 Mac 앱에서 REA를 일반 에이전트와 비교한 초기 리뷰는 격차가 좁고 REA 실행이 더 느리다는 결과를 보였습니다. 가치는 질문이 구체적이고 대상이 복잡할 때 드러납니다.
API 작업을 위한 REA: 캡처에서 테스트된 스펙까지
여기부터는 API를 기반으로 개발하는 모두에게 중요한 부분입니다. REA의 inspect_web_network_capture 도구는 HAR 파일(또는 Linux의 네이티브 mitmproxy 캡처)을 오프라인으로 읽습니다. 기록된 URL을 다시 요청하지 않습니다. 모든 항목을 검증하고, 요청과 응답 본문을 다이제스트와 함께 보존하며, 인증 헤더, 쿠키, URL 자격 증명은 증거에서 구조적으로 제외합니다.
그다음에는 API 팀이라면 바로 알아볼 동작을 합니다. 유지된 증거를 api-surface 뷰와 함께 inspect_analysis_view에 전달하면 REA는 모든 요청을 메서드, 오리진, 추론된 경로 템플릿별로 묶습니다. 숫자 ID는 {numeric}, UUID는 {uuid}, 긴 16진수 문자열은 {hex}, 날짜는 {iso-date}가 됩니다. 각 그룹은 출처가 된 레코드를 인용하고 혼합된 상태 코드나 콘텐츠 유형을 표시합니다. 캡처 가이드는 이 뷰가 스키마나 핸들러 주장을 하지 않는다고 신중하게 말합니다. 이것은 스펙이 아니라 추론된 인벤토리입니다.
그 인벤토리는 API 리버스 엔지니어링 가이드의 워크플로에 정확히 맞는 출발점이고, Apidog가 이를 마무리합니다.
- 한 번 캡처합니다. Chrome DevTools에서 흐름을 재현하고 모든 요청을 콘텐츠와 함께 HAR로 저장합니다. 테스트 계정으로 기록하세요. HAR에는 유효한 토큰이 담깁니다.
- 에이전트가 매핑하게 합니다. 에이전트에게 REA로 HAR을 분석하고 API 서피스를 요약하라고 요청합니다. 엔드포인트 목록, ID 패턴, 오류를 반환한 호출을 원시 레코드로 되돌아가는 포인터와 함께 얻습니다.
- 같은 HAR을 Apidog에 가져옵니다. Apidog는 캡처된 요청을 엔드포인트로 바꿉니다. 엔드포인트마다 기본 테스트 케이스를 생성하는 옵션과 가져오기 시 정적 자산을 제외하는 옵션도 있습니다. 정리 방법은 HAR 가져오기 안내에서 다룹니다.
- 추론된 템플릿을 실제 경로 파라미터로 승격합니다. REA의
{numeric}과{uuid}플레이스홀더가 Apidog 엔드포인트 정의에서 파라미터화할 세그먼트를 알려줍니다. - 목킹하고 테스트합니다. Apidog의 스마트 목을 켜면 실제 API를 만지기 전에 클라이언트 코드를 재구성된 API로 실행할 수 있습니다. 그다음 캡처된 응답 형태에 대한 어설션을 작성하고 CI에서 Apidog CLI로 실행합니다.
역할 구분은 명확합니다. REA는 증거를 읽고 설명하는 데 강합니다. Apidog에서는 엔드포인트가 팀이 공유할 수 있도록 문서화되고, 목킹되고, 테스트된 계약이 됩니다. 어느 쪽도 상대의 일을 대신하지 않습니다.
도입 전 주의 사항
릴리스 속도는 양날의 검입니다. 9일 동안 마이너 버전 7개가 나왔고, 프로젝트의 always-bump-minor 정책상 마이너 버전 증가도 호환성을 깰 수 있습니다. 6.2 마이그레이션 가이드는 모든 MCP 결과의 형태를 바꿨습니다. REA의 JSON 출력을 대상으로 스크립트를 쓴다면 버전을 고정하고 업데이트 전에 변경 이력을 읽으세요.
샌드박스가 아니라 커넥터입니다. 프로젝트 보안 정책은 로컬 제공자 브리지가 샌드박스가 아니며, 신뢰할 수 없는 바이너리를 열면 그 파싱이 사용자 권한으로 실행된다고 명시합니다. 신뢰할 수 없는 대상은 다른 에이전트 도구 호출을 격리할 때와 같은 방식으로 격리된 환경에서 분석하세요.
플랫폼 제한은 구체적입니다. 네이티브 mitmproxy 디코딩에는 사용자가 직접 제공하는 Linux용 mitmdump 12.2.3 정확히 그 버전이 필요합니다. 펌웨어 추출, EVM, WASM 경로는 Linux x64입니다. Hopper에는 Windows 빌드가 없습니다.
법적 책임은 사용자에게 남습니다. README는 REA를 합법적인 연구, 분석, 재구현으로 한정하고 권한 확인은 사용자 책임이라고 말합니다. 경쟁사 기능을 복사하는 것은 이 도구가 생기기 전과 같은 법적 질문입니다. 프로젝트는 토큰을 발행한 적이 없으며 이름을 사용하는 코인은 무관하다고 밝혀야 했습니다.
아직 초기입니다. 이 글을 쓰는 시점에 기여자 100명 이상, 열린 이슈와 풀 리퀘스트 170개가 넘습니다. 문서는 충실하지만 소개된 경로 밖에서는 거친 부분을 예상하세요.
자주 묻는 질문
REA는 무료인가요? 네. 코드는 MIT 라이선스이고 npm 패키지도 무료입니다. 네이티브 분석에 Hopper를 선택하면 유료 제품이며, Ghidra는 무료입니다.
REA는 내 앱이나 바이너리를 업로드하나요? 아니요. 분석은 로컬에서 실행됩니다. 도구 결과는 에이전트가 사용하는 모델로 전달되므로 해당 제공자의 데이터 정책이 적용됩니다.
시작하려면 Ghidra나 IDA가 필요한가요? JavaScript, Electron, .NET, 웹사이트, 캡처 분석에는 필요하지 않습니다. 네이티브 바이너리 디컴파일에만 엔진이 필요합니다.
REA는 트래픽에서 OpenAPI 스펙을 만들 수 있나요? 아니요. api-surface 뷰는 경로 템플릿이 포함된 추론된 인벤토리입니다. HAR을 Apidog에 가져와 편집 가능한 엔드포인트 정의를 만들고 거기서 OpenAPI를 내보내세요. 이미 있는 캡처로 가져오기를 시험하려면 Apidog를 다운로드하세요.
결론
REA는 실제 리버스 엔지니어링 엔진을 하나의 MCP 서버 뒤에 묶고 반환하는 증거를 문서화했기 때문에 스타를 받았습니다. 하나의 함수가 어떻게 동작하는지, 어떤 IPC 채널이 메시지를 전달하는지, 앱의 트래픽이 어떤지 같은 범위가 명확한 질문에 사용하세요. 전부 다시 만드는 데모는 데모로만 보세요.
API 팀에게 실질적인 이득은 캡처 경로입니다. 에이전트가 REA로 HAR을 읽게 하고, 같은 파일을 Apidog에 가져와 인벤토리를 목킹하고 테스트하고 문서화할 수 있는 엔드포인트로 바꾸세요.
