최종 업데이트:
Reverse Engineer Anything (REA): 완벽 가이드
Reverse Engineer Anything (REA)은 Claude Code, Cursor, Codex 같은 AI 코딩 에이전트가 소스 코드 없이도 네이티브 바이너리, Electron 앱, 웹사이트를 들여다볼 수 있게 해 주는 오픈소스 MCP 서버이자 커맨드라인 도구입니다. 평소 말하듯 질문하면 REA가 내 컴퓨터의 분석 도구를 실행하고, 에이전트는 설명하거나 구현에 활용할 수 있는 코드, 참조, 근거를 돌려받습니다.
Reverse Engineer Anything (REA)란?
REA는 Reverse Engineer Anything의 약자로, GitHub의 morluto가 만든 프로젝트입니다. 슬로건은 “One MCP for reverse engineering across binaries, applications, and runtime behavior”(바이너리, 애플리케이션, 런타임 동작을 아우르는 리버스 엔지니어링용 MCP 하나)입니다. 실제로는 코딩 에이전트에게 리버스 엔지니어링 도구 세트를 쥐여 주는 것으로, 마음에 드는 기능이 있는 앱을 가리키며 그 기능이 어떻게 동작하는지 물어볼 수 있습니다. 현재 npm 릴리스인 rea-agents 6.4.0은 MIT 라이선스이며, 분석은 내 컴퓨터에서 로컬로 실행됩니다.
- 소스 코드 없이 분석. 네이티브 바이너리는 의사 코드, 어셈블리, 문자열, 심볼, 호출 참조로 돌아옵니다. JavaScript와 Electron 앱은 모듈, import, 소스 맵, 라우트, IPC로 돌아옵니다.
- 모든 답변에 근거 포함. 각 결과에는 출처와 아직 알 수 없는 부분이 함께 담겨 있어, 에이전트와 사용자 모두 주장을 믿기 전에 확인할 수 있습니다.
- 도구 하나로 다양한 대상. 바이너리와 Electron 외에도 웹사이트, 저장된 HAR 네트워크 캡처, .NET 어셈블리, Android APK, Go 바이너리, WASM, 펌웨어 등을 같은 MCP와 CLI로 읽어 들입니다.
출처: GitHub: morluto/rea(README)
REA AI 동작 방식: 에이전트, MCP, Ghidra, Hopper
REA 자체는 디스어셈블러가 아닙니다. 에이전트와 실제 분석 엔진 사이에 자리한 MCP(Model Context Protocol) 서버입니다. Claude Code나 Cursor에 바이너리에 대해 물으면 에이전트가 REA의 도구를 호출하고, REA는 Hopper, Ghidra, IDA(또는 자체 JavaScript 분석기나 웹사이트용 Chrome 계열 브라우저)를 실행해 분석한 뒤 구조화된 결과를 돌려줍니다. 터미널 명령 rea도 같은 워크플로를 사용합니다.
- 내 컴퓨터에 있는 앱이나 파일에 대해 에이전트(Claude Code, Cursor, Codex)에게 질문합니다.
- 에이전트가 MCP를 통해 REA의 도구를 호출합니다.
- REA가 알맞은 엔진을 로컬에서 실행합니다. 네이티브 코드는 Hopper, Ghidra, IDA, Electron은 JS 분석기, 웹사이트는 브라우저를 씁니다.
- REA가 코드, 참조, 근거, 미확인 사항을 돌려줍니다.
- 에이전트가 동작을 설명하거나, 내 프로젝트용 버전을 작성하고 테스트합니다.
에이전트가 받은 도구 결과는 해당 모델 제공업체의 데이터 정책에 따라 제공업체에도 전달됩니다. REA 자체는 분석 대상을 업로드하지 않습니다.
출처: GitHub: morluto/rea(README)
출처: REA 문서: 설치 및 설정
REA GitHub 설치 가이드: 요구 사항과 명령어
- Node.js 22.x(22.19 이상), 24.x(24.11 이상) 또는 26 이상, 그리고 npm.
- 네이티브 바이너리용: Hopper, Ghidra, IDA 중 하나. Hopper는 승인하면 설정 과정에서 설치해 주지만, Ghidra와 IDA는 미리 설치되어 있어야 합니다.
- 웹사이트용: Chrome 계열 브라우저. JavaScript, Electron, .NET은 추가로 필요한 것이 없습니다.
- 네이티브 분석 호스트 기준: macOS 12 이상 또는 최신 Linux(Ubuntu 24.04 이상, Fedora 41 이상, Arch 등 일부). Windows의 Ghidra 지원은 실험적입니다.
- npx rea-agents setup을 실행합니다.
- 목록에서 사용할 에이전트를 고르고, 변경될 설정 파일 경로를 확인한 뒤 승인합니다. 기존 설정은 먼저 백업됩니다.
- 새 MCP 서버를 불러오도록 에이전트를 재시작합니다.
- 원하면 터미널에서 쓸 수 있게 rea 명령을 전역으로 설치하고, 가끔 rea update를 실행하세요. 수정 사항이 자주 배포되는 프로젝트입니다.
# 1) Register REA with your agents (Claude Code, Codex, Cursor, Gemini CLI ...)
npx rea-agents setup
# 2) Optional: install the rea command for regular terminal use
npm install --global rea-agents
rea --help
# 3) Keep it current (global install / npx setup)
rea update
npx rea-agents@latest setup명령어는 github.com/morluto/rea의 README에서 가져왔습니다. Bun을 쓴다면 npx rea-agents@latest 대신 bunx rea-agents@latest를 사용하세요.
출처: GitHub: morluto/rea(README)
출처: REA 문서: 설치 및 설정
출처: npm: rea-agents
Claude Code, Cursor, Codex에서 REA 사용하기
설정 과정에서 각 에이전트에 같은 MCP 서버가 등록되고, REA의 워크플로 지침(“reverse-engineer-anything” 스킬)도 함께 설치됩니다. 재시작한 뒤에는 평소 말하듯 요청하면 됩니다. 첫 번째 프롬프트는 README에 실린 예시이고, 나머지는 에이전트별로 저희가 직접 만든 것입니다.
- Claude Code. 설정에서 Claude Code(클라이언트 ID claude_code)를 선택하고 재시작한 다음 터미널 세션에서 질문합니다. Claude Code는 여러 단계에 걸친 긴 추적에 강하므로, 단계마다 근거를 보여 달라고 요청하세요.
- Cursor. Cursor(cursor)를 선택합니다. REA가 Cursor의 MCP 도구 목록에 나타납니다. 도구를 호출한 뒤 프로젝트까지 수정할 수 있도록 Agent 모드를 사용하세요.
- Codex. Codex(codex)를 선택합니다. Codex는 결과물이 내 저장소에 대한 패치가 되는 “찾아서 다시 구현하기” 작업에 잘 맞습니다.
Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.REA로 /Applications/Example.app을 분석해 줘. “copy as Markdown” 명령이 어떻게 동작하는지 알고 싶어. 렌더러에서 시작해서 preload와 IPC를 거쳐 메인 프로세스까지 따라가고, 단계마다 파일과 함수를 보여 줘. 확인하지 못한 부분도 정리해 줘.REA로 ./vendor/libexample.dylib을 분석해 줘. 설정 파일을 파싱하는 함수를 찾아서 의사 코드와 참조하는 문자열을 보여 주고, 같은 동작을 하는 TypeScript 파서를 단위 테스트와 함께 src/config/에 작성해 줘../legacy/report.exe(2014년에 내가 만든 앱)의 소스를 잃어버렸어. REA와 Ghidra로 CSV 내보내기에서 날짜를 포맷하는 부분을 찾고, 왜 연도를 두 자리로 쓰는지 설명해 줘.출처: GitHub: morluto/rea(README)
출처: REA 문서: 설치 및 설정
먼저 터미널에서 REA 써 보기
에이전트 없이도 REA를 시험해 볼 수 있습니다. 아래 명령은 압축을 푼 JavaScript/Electron 앱 디렉터리나 ASAR를 분석해, 찾아낸 모듈, import, Electron 경계를 근거와 함께 출력합니다. 네이티브 엔진은 필요하지 않습니다.
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json경로는 분석할 대상으로 바꾸세요. 예를 들어 Windows에서는 "D:/apps/example"처럼 씁니다.
출처: GitHub: morluto/rea(README)
REA 활용 사례: Electron 앱부터 악성코드까지 무엇이든 리버스 엔지니어링
- Electron 앱 리버스 엔지니어링. Electron 앱은 JavaScript를 ASAR 아카이브에 담아 배포합니다. REA는 모듈, 라우트, IPC 채널을 복원하며, Notion 사례 연구도 이렇게 렌더러에서 메인 프로세스까지 클립보드 브리지를 추적합니다.
- 비공개 API 분석(“API anything”). 저장한 HAR 캡처를 불러오거나 REA가 브라우저에서 웹사이트를 관찰하게 하면, 요청, 응답, 페이로드를 이를 보내는 스크립트와 함께 정리해 줍니다. 사용이 허용된 문서화되지 않은 API를 정리하고 클라이언트를 작성하는 가장 빠른 방법입니다.
- 악성코드 및 침해 사고 분석. REA의 책임 있는 사용 정책은 악성코드 및 침해 사고 분석과 보안 연구를 의도된 용도로 명시합니다. 격리된 VM에서 작업하세요. 정적 분석은 파일을 실행하지 않고 읽지만, 런타임 캡처는 대상을 실제로 실행합니다.
- 내가 만든 오래된 프로그램 디버깅. 직접 작성한 프로그램의 소스를 잃어버렸거나, 오래된 빌드가 왜 다르게 동작하는지 알아야 하나요? DX-Ball 사례 연구에서는 원본의 컴파일된 63바이트를 모두 그대로 재현하는 함수를 C로 다시 만듭니다.
출처: REA 사례 연구(DX-Ball, Notion, TH04)
REA 동영상 튜토리얼
YouTube 크리에이터가 만든 Reverse Engineer Anything 소개 영상 두 편입니다(REA 프로젝트나 저희가 만든 영상이 아닙니다). 동영상은 재생 버튼을 눌렀을 때만 YouTube에서 불러옵니다.


REA vs Ghidra vs Hopper
사실 이 셋은 경쟁 관계가 아닙니다. Ghidra와 Hopper는 디스어셈블과 디컴파일을 수행하는 엔진입니다. Reverse Engineer Anything은 그 위에 얹히는 에이전트 레이어로, 엔진을 구동하고 결과를 에이전트가 활용할 수 있는 근거로 바꿔 줍니다.
| REA | Ghidra | Hopper | |
|---|---|---|---|
| 정체 | AI 에이전트와 분석 도구를 연결하는 MCP 서버 + CLI | NSA가 만든 리버스 엔지니어링 도구 모음 | 디스어셈블러 겸 디컴파일러 |
| 조작 주체 | AI 에이전트, 또는 터미널에서 직접 | 직접(GUI 또는 스크립트) | 직접(GUI 또는 스크립트) |
| 가격 | 무료, MIT 라이선스 | 무료, Apache 2.0 | 유료(기능 제한 무료 데모 제공) |
| 플랫폼 | macOS, Linux. Windows는 에이전트 설정, JS/.NET, 실험적 Ghidra 지원 | Windows, macOS, Linux(JDK 필요) | macOS, Linux |
| 분석 대상 | 네이티브, Electron/JS, 웹사이트, HAR, .NET, Android, 펌웨어 등 | 다양한 CPU용 네이티브 바이너리 | 네이티브 바이너리(Mach-O, ELF, PE) |
| 추천 용도 | 질문하고 근거가 담긴 답 얻기 | 깊이 있는 수동 분석, 스크립팅 | Mac에서 빠른 수동 분석 |
세 번째 지원 엔진으로 IDA도 있습니다. 상용 엔진은 직접 유효한 라이선스를 갖추어야 하며, REA가 라이선스를 제공하지는 않습니다.
출처: GitHub: morluto/rea(README)
출처: GitHub: NationalSecurityAgency/ghidra
리버스 엔지니어링은 합법인가요?
대체로 합법이지만, 어디에 있는지, 무엇을 분석하는지, 어떤 라이선스에 동의했는지에 따라 달라집니다. 많은 지역에서 상호 운용성, 보안 연구, 교육, 내가 소유한 소프트웨어의 수정 목적이라면 허용하며, 미국 DMCA에는 상호 운용성을 위한 예외 조항이 있고 EU 소프트웨어 지침도 일정 조건 아래 상호 운용성을 위한 디컴파일을 허용합니다. 그래도 소프트웨어 라이선스나 서비스 약관에서 이를 금지할 수 있습니다.
REA의 면책 조항은 이 도구가 합법적인 연구, 교육, 상호 운용성, 소프트웨어 보존, 그리고 내가 소유했거나 분석 권한을 받은 소프트웨어의 분석을 위한 것이라고 밝힙니다. DRM, 라이선스 검사, 안티치트 우회, 게임 핵 제작, 테스트 권한이 없는 시스템의 인증 우회, 독점 코드와 에셋 복제는 돕지 않습니다.
이 내용은 일반적인 정보이며 법률 자문이 아닙니다. 다른 사람의 소프트웨어를 바탕으로 분석 결과를 공개하거나 코드를 배포할 계획이라면 먼저 변호사와 상담하세요.
자주 묻는 질문
REA는 무료인가요?
네. REA는 MIT 라이선스의 오픈소스이고, npm 패키지 rea-agents도 무료입니다. 비용은 주변 요소에만 듭니다. AI 에이전트의 요금제나 API 사용료, 그리고 Hopper나 IDA 엔진을 쓴다면 그 라이선스 비용입니다. Ghidra는 무료입니다.
REA skill이란?
reverse-engineer-anything 스킬은 에이전트에게 REA를 언제, 어떻게 쓸지 알려 주는 지침 모음입니다. npx rea-agents setup을 실행하면 MCP 서버와 함께 설치됩니다. npx skills add morluto/rea --skill reverse-engineer-anything으로 스킬만 설치할 수도 있지만, 이 경우 MCP 도구는 등록되지 않습니다.
REA는 Mac/Windows에서 동작하나요?
주요 지원 호스트는 macOS 12 이상과 최신 Linux 배포판이며, 네이티브 분석에는 Hopper, Ghidra, IDA를 사용합니다. Windows에서는 설정으로 에이전트를 구성할 수 있고 JavaScript, Electron, .NET 정적 분석이 동작합니다. Ghidra 지원은 실험적이며 Hopper는 사용할 수 없습니다.
REA AI란?
“REA AI”는 AI 코딩 에이전트에 리버스 엔지니어링 능력을 부여하는 도구인 REA(Reverse Engineer Anything)를 가리키는 말로 쓰입니다. REA에는 자체 모델이 없습니다. AI는 여러분의 에이전트(Claude, GPT, Gemini 등)이고, REA는 도구와 근거를 제공합니다.
REA와 다른 MCP 서버의 차이는?
REA 자체가 MCP 서버입니다. Ghidra 전용 브리지처럼 도구 하나만 다루는 MCP 서버와 비교하면, 여러 엔진(Hopper, Ghidra, IDA, 브라우저, JS·.NET·Android 분석기)을 한 번의 설정으로 묶고, 결과마다 근거를 함께 돌려주며, 이에 맞는 에이전트 지침도 함께 제공합니다.
Reverse Engineer Anything GitHub 저장소는 어디에 있나요?
github.com/morluto/rea입니다. README에서 설치하는 npm 패키지는 rea-agents이고, 가이드와 사례 연구는 rea.tools에 있습니다.
이 페이지는 독립적인 가이드로, REA 프로젝트, morluto, Anthropic, Cursor, OpenAI, NSA, Hopper와 아무런 관련이 없습니다. 내용은 morluto/rea의 README, 설치 문서, 면책 조항(버전 6.4.0)을 바탕으로 2026년 10월 12일에 확인했습니다. REA는 빠르게 바뀌므로 설치 전에 README를 확인하세요.