REA란? 설치와 안전한 사용
REA란?
REA(Reverse Engineer Anything)는 리버스 엔지니어링을 위한 오픈소스 MCP 서버로, MIT 라이선스로 github.com/morluto/rea에 공개되어 있습니다. 네이티브 바이너리, JavaScript·Electron 앱, .NET 어셈블리, 웹사이트 등을 살펴보는 도구에 AI 에이전트를 연결해, 기능이 어떻게 동작하는지 설명하고 결론마다 근거를 보여 줄 수 있게 합니다. 프로젝트는 스스로를 "마음에 드는 기능을 보면, 바이너리 수준까지 그 동작 원리를 이해하는" 도구라고 소개합니다.
같은 도구를 터미널에서도 쓸 수 있습니다. 프로젝트 설명에 따르면 분석은 로컬에서 이뤄지며, 결과에는 결론마다 근거와 한계가 함께 담깁니다.
동작 방식
에이전트가 MCP로 REA를 호출해 대상을 살펴보고 관련 코드를 추적합니다. REA는 근거가 담긴 발견을 돌려주고, 에이전트는 이를 바탕으로 추가 질문을 하거나, 동작을 설명하거나, 내 프로젝트에 맞는 구현을 작성하고 테스트합니다. 명령줄 도구도 같은 워크플로로 동작합니다.
분석할 수 있는 것
README에는 20가지가 넘는 대상이 정리되어 있습니다. 자주 쓰는 것은 다음과 같습니다.
| 대상 | REA가 돌려주는 것 | 필요한 것 |
|---|---|---|
| 네이티브 바이너리 | 의사코드, 어셈블리, 문자열, 심볼, 호출과 참조 | Hopper, Ghidra 또는 IDA |
| JavaScript / Electron | 모듈, 임포트, 소스 맵, 라우트, IPC, 네이티브 애드온 관계 | Node.js와 npm |
| 웹사이트 | 페이지 구조, 스크립트, 네트워크 관찰 결과, 요청한 스크린샷 | Chrome 계열 브라우저 |
| .NET 어셈블리 | 메타데이터, CIL 명령, 선언된 네이티브 의존성, 빌드 비교 | 추가 도구 불필요(정적 분석만) |
| Android APK | Manifest 선언, 클래스, 디컴파일한 메서드와 참조 | 헤드리스 JADX와 전체 JDK |
| Go 바이너리 | 내장된 컴파일러 버전, 모듈, replace, 빌드 설정 | 추가 도구 불필요(내장) |
이 밖에도 WebAssembly, EVM 바이트코드, SQLite 데이터베이스, 펌웨어, 저장한 네트워크·패킷 캡처, 프로세스 동작 등이 있으며 대상마다 요구 사항이 다릅니다. REA 자체에는 Node.js 22.x(22.19 이상), 24.x(24.11 이상) 또는 26 이상과 npm이 필요합니다. 대상 가이드에 정리해 두었습니다.
명령어 하나로 설정
Node.js와 npm을 준비한 뒤 실행하세요.
npx rea-agents setup
설정할 에이전트를 고르고, 제안된 변경 사항을 확인해 승인합니다. 설정 과정은 REA의 MCP 서버와 그에 맞는 워크플로 안내를 추가하고 기존 설정을 백업합니다. 끝나면 에이전트를 다시 시작하세요. Claude Code, Codex, Cursor, Gemini CLI, Grok Build 등을 지원합니다. 단계별 설명, 수동 등록, 업데이트 방법은 설치 가이드에 있습니다.
에이전트에게 요청하기
README의 예시 프롬프트가 대표적인 사용법을 보여 줍니다.
Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.
앱과 기능은 살펴볼 권리가 있는 내 대상으로 바꿔 쓰세요.
REA를 쓰는 곳과 쓰면 안 되는 곳
프로젝트는 REA를 합법적인 연구, 교육, 상호운용성, 소프트웨어 보존, 그리고 본인 소유이거나 검사 권한을 받은 소프트웨어 분석을 위한 도구로 설명합니다. 면책 조항은 보안 연구, 악성코드·침해 사고 분석, 조율된 공개를 따르는 취약점 연구, CTF, 내 소프트웨어 디버깅을 의도한 용도로 꼽습니다.
프로젝트가 지원하지 않고 돕지도 않는 것:
- DRM, 라이선스 검사, 안티치트 등 기술적 보호 조치 우회
- 게임 치트 개발 또는 온라인 서비스 변조
- 테스트 권한이 없는 시스템에서 인증이나 접근 통제 우회
- 독점 소프트웨어 복제 또는 보호된 코드와 에셋 재현
필요한 권한을 확보하고 법과 라이선스를 지키는 것은 사용자의 책임입니다. IDA, Hopper, JEB 같은 상용 도구는 정식으로 구해야 하며, REA는 이들 도구의 라이선스를 제공하지 않습니다. 이 사이트도 같은 원칙을 따릅니다. 콘텐츠 규칙을 확인하세요.
이 사이트에 대하여
REA MCP는 사람들이 REA로 해낸 일을 모은, 커뮤니티가 운영하는 독립 디렉터리입니다. REA 프로젝트 및 관리자와 제휴·보증·후원 관계가 없습니다. 공식 출처는 GitHub 저장소와 프로젝트 사이트 rea.tools입니다.
인기 REA 활용 사례
게시된 사례를 커뮤니티 투표 수, 그다음 GitHub 스타 수 순으로 정렬합니다. 자동으로 업데이트됩니다.
- REA on Fedora-based Linux: setup notes and gotchas★ 156,486
- My local model setup for REA on Linux (one 12 GB GPU)★ 156,486
- Reducing token waste in REA workflows★ 156,486
- Outside-in leak check of a production Next.js and Stripe app★ 156,484
- REA (Reverse Engineer Anything)★ 156,483
- A stripped bzip2 build: what REA returned, checked against the source★ 156,483
- Benchmarks: REA on Linux across Node versions and five local models★ 156,482
- OpenBattlefield2: a clean-room engine reimplementation★ 41
- Reconstructing DX-Ball 1.07★ 40
- TH04 source reconstruction★ 29
FAQ
REA란 무엇인가요?
REA(Reverse Engineer Anything)는 MIT 라이선스의 오픈소스 MCP 서버로, github.com/morluto/rea에서 공개되어 있습니다. 네이티브 바이너리, JavaScript·Electron 앱, .NET 어셈블리, 웹사이트 등을 살펴보는 도구에 AI 에이전트를 연결해, 기능이 어떻게 동작하는지 설명하고 결론마다 근거를 보여 줄 수 있게 합니다.
REA는 어떻게 설치하나요?
Node.js와 npm을 준비한 뒤 npx rea-agents setup을 실행하고, 설정할 에이전트를 고르고, 제안된 변경 사항을 확인해 승인한 다음 에이전트를 다시 시작하세요. 설정 과정은 REA의 MCP 서버와 그에 맞는 워크플로 안내를 추가하고 기존 설정을 백업합니다.
어떤 에이전트에서 REA를 쓸 수 있나요?
로컬 MCP 서버를 지원하는 에이전트라면 쓸 수 있습니다. 설정 과정은 Claude Code, Codex, Cursor, Gemini CLI, Grok Build 등을 지원하며, 그 밖의 클라이언트는 프로젝트 설치 가이드에 따라 서버를 직접 등록할 수 있습니다.
Hopper, Ghidra, IDA가 꼭 있어야 하나요?
네이티브 코드를 깊이 분석할 때만 필요합니다. JavaScript와 .NET 정적 분석은 네이티브 분석 엔진 없이 동작합니다. 설정 과정에서 승인하면 Hopper를 설치할 수 있고, Ghidra와 IDA는 이미 설치된 것을 사용합니다. 상용 도구는 정식으로 구하고 라이선스를 지켜야 합니다.
REA MCP는 REA 공식 사이트인가요?
아닙니다. REA MCP는 REA 활용 사례를 모은 독립 커뮤니티 디렉터리이며, REA 프로젝트 및 관리자와 제휴·보증·후원 관계가 없습니다. 공식 출처는 github.com/morluto/rea와 rea.tools입니다.
REA가 내 앱을 업로드하나요?
프로젝트 설명에 따르면 REA는 대상을 로컬에서 분석합니다. 도구 결과는 에이전트에게 전달되며, 에이전트가 쓰는 모델 제공자에게는 자체 데이터 정책이 있으니 민감한 대상을 분석하기 전에 확인하세요.
REA는 무엇에 쓰고, 무엇에 쓰면 안 되나요?
프로젝트는 REA를 합법적인 연구, 교육, 상호운용성, 소프트웨어 보존, 그리고 본인 소유이거나 검사 권한을 받은 소프트웨어 분석을 위한 도구로 설명합니다. 크랙, DRM·라이선스 우회, 게임 치트, 테스트 권한이 없는 시스템 공격은 지원하지 않으며, REA MCP도 정당한 용도만 소개합니다.
REA를 최신 상태로 유지하려면?
npx로 설정했다면 npx rea-agents@latest setup을 실행하고 변경 사항을 확인한 뒤 에이전트를 다시 시작하세요. npm이나 Bun으로 CLI를 전역 설치했다면 rea update를 실행하고, 출력되는 설정 명령으로 에이전트 등록을 갱신하세요.