1. 컴퓨터 준비하기
분석할 파일이 저장된 컴퓨터를 사용하세요. 컴퓨터에서 실행되는 코딩 에이전트가 이 파일을 읽고 도구를 실행할 수 있습니다.
터미널은 어떻게 열 수 있나요?
- Windows: 시작 메뉴를 열고 PowerShell을 입력한 뒤 Enter를 누르세요.
- macOS: ⌘ Space를 누르고 터미널을 입력한 뒤 Enter를 누르세요.
- Linux: 대부분의 데스크톱에서 Ctrl Alt T를 누르세요.
Ctrl V(macOS: ⌘ V, Linux 터미널: Ctrl Shift V)로 명령을 붙여넣고 Enter를 누르세요.
명령어는 터미널에 입력하세요. ‘코딩 에이전트’라고 표시된 프롬프트는 에이전트의 채팅에 입력하세요.
Node.js 22(22.19+), 24(24.11+) 또는 26+가 필요합니다. npm은 Node.js와 함께 제공됩니다.
Node.js가 없거나, 설치되어 있는지 확실하지 않나요?
터미널을 열고 확인하세요:
node -v
npm -v
node -v가 v22.19+, v24.11+ 또는 v26+를 출력하면 준비가 된 것입니다. 이전 버전이나 ‘인식되지 않음’ / ‘명령을 찾을 수 없음’이 나오면 Node.js 24 LTS를 설치하세요:
Windows (PowerShell)
winget install --exact --id OpenJS.NodeJS.LTS
약관 동의를 요청하면 Y를 입력하세요. PowerShell을 닫았다가 다시 열고 node -v을 실행하세요.
winget을 사용할 수 없다면 Node.js 설치 프로그램을 다운로드하세요.
나중에 npx를 실행할 때 PowerShell에 ‘이 시스템에서 스크립트를 실행할 수 없습니다’라고 나오면 대신 npx.cmd를 사용하세요. npm은 npm.cmd를 사용하면 됩니다.
npx.cmd rea-agents@latest setup
macOS
처음 설치한다면 Node.js 24 LTS macOS 설치 프로그램(.pkg)을 다운로드하고 열어 안내를 따르세요. 그런 다음 터미널을 다시 여세요.
이미 Homebrew를 사용하고 있나요?
brew install node
Linux
curl과 unzip이 없다면 먼저 설치하세요. Debian이나 Ubuntu에서는 sudo apt install curl unzip을 실행하고, 다른 배포판에서는 해당 패키지 관리자를 사용하세요.
curl -fsSL https://fnm.vercel.app/install | bash
터미널을 닫았다가 다시 열고 다음을 실행하세요.
fnm install 24
fnm use 24
fnm default 24
배포판에서 제공하는 nodejs 패키지는 22.19보다 오래된 경우가 많습니다. 이를 사용한다면 node -v로 확인하세요.
일반 설치 프로그램을 원하나요? nodejs.org에서 LTS 버전을 다운로드하세요.
에이전트용 작업 폴더 만들기
터미널에서 실습용 폴더를 만들고 그 폴더로 이동하세요.
mkdir rea-work
cd rea-work
다음 단계에서도 사용할 수 있도록 이 터미널을 열어 두세요. 이미 작업 폴더가 있다면 그 폴더를 여세요.
2. 코딩 에이전트 선택하기
에이전트는 여러분이 대화하는 AI입니다. REA는 이 AI가 사용할 분석 도구를 제공합니다. 아래에서 클라이언트 하나를 고르세요. 처음 사용하는 앱이라면 안내를 펼쳐 보세요.
Codex · ChatGPT 계정으로 사용하기
운영체제에 맞는 명령어로 Codex를 설치하세요.
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
curl -fsSL https://chatgpt.com/codex/install.sh | sh
설치 후 터미널을 다시 열고 작업 폴더로 돌아오세요. 그런 다음 Codex를 시작하세요.
codex
‘Sign in with ChatGPT’를 선택하고 브라우저에서 로그인을 마친 뒤 터미널로 돌아오세요. 메시지 입력란이 나타나면 3단계로 이동하세요.
Cursor, Windsurf, VS Code · 편집기에서 사용하기
- 운영체제에 맞는 편집기를 설치하고 로그인하세요.
- 1단계에서 만든 rea-work 폴더를 여세요.
- 편집기의 AI 채팅을 열고 Agent 모드를 선택하세요. Windsurf나 Devin Desktop에서는 에이전트 채팅을 열고, VS Code에서는 먼저 GitHub Copilot을 설정하세요.
Cursor 설정 · Windsurf / Devin Desktop 설정 · VS Code와 Copilot 설정
Claude Code · Claude 계정으로 사용하기
운영체제에 맞는 명령어로 설치하세요.
irm https://claude.ai/install.ps1 | iex
curl -fsSL https://claude.ai/install.sh | bash
터미널을 다시 열고 작업 폴더로 돌아간 뒤 claude를 실행하세요. 로그인 안내를 따르세요. 지원되는 Claude 구독이나 설정된 API 계정이 필요합니다.
Claude Desktop · 데스크톱 채팅으로 사용하기
Windows나 macOS에 Claude Desktop을 설치하고 로그인하세요. 앱을 완전히 종료한 뒤 Claude 밖에서 연 터미널에서 이 명령어를 실행하세요.
npx rea-agents@latest setup --client claude_desktop
계획을 확인하고 승인한 뒤 Claude를 다시 열고 3단계에서 연결을 확인하세요.
OpenCode · AI 모델 선택하기
npm install --global opencode-ai
작업 폴더에서 opencode를 실행하세요. 채팅에서 /connect로 모델 계정을 연결한 뒤 모델을 선택하세요.
지원하는 모든 클라이언트와 설정 ID
npm 6.4.0 릴리스는 아래 클라이언트를 지원합니다. 클라이언트를 직접 지정하려면 --client에 해당 ID를 넣으세요.
| 클라이언트 | 설정 ID |
|---|---|
| Claude Code | claude_code |
| Claude Desktop | claude_desktop |
| Codex | codex |
| Cursor | cursor |
| Gemini CLI | gemini_cli |
| Windsurf | windsurf |
| Devin | devin |
| OpenCode | opencode |
| Antigravity | antigravity |
| GitHub Copilot CLI | copilot_cli |
| Command Code | commandcode |
| Qwen Code | qwen_code |
| VS Code | vscode |
| Grok Build | grok_build |
| OMP | omp |
| Pi | pi |
| Hermes | hermes |
Qoder(qoder), Factory Droid(droid), Trae(trae), ZCode(zcode), DeepSeek Harness(dsh)는 저장소 main에서 사용할 수 있습니다. 소스 빌드나 이 연동을 포함하는 릴리스를 사용하세요.
Grok Bot · Bot이 실행되는 컴퓨터에서 연결하기
Grok Bot 채팅에서 Bot의 컴퓨터에 다음 명령어로 rea라는 이름의 사용자 지정 MCP 서버를 추가해 달라고 요청하세요.
npx -y rea-agents@6.4.0 mcp
3. REA 연결하기
이 프롬프트를 코딩 에이전트에 붙여 넣으세요:
npx rea-agents@latest setup을 사용해 REA를 설치하고 이 코딩 에이전트에 연결해 줘. 먼저 설정 변경 계획을 보여 주고 내 승인을 받은 뒤 실행해 줘. 마지막으로 설치를 확인해 줘.
직접 설정 명령 실행하기
npx rea-agents@latest setup
특정 클라이언트 하나를 지정하려면 해당 설정 ID를 추가하세요.
npx rea-agents@latest setup --client codex
npm이 패키지를 다운로드할지 물으면 y를 입력하고 Enter를 누르세요. REA의 클라이언트 목록에서는 방향키로 이동하고 Space로 클라이언트를 선택한 뒤 Enter로 진행하세요.
클라이언트를 선택하고 설정 계획을 검토하세요. REA는 기존 설정을 백업한 뒤 MCP 연결과 맞는 분석 스킬을 추가합니다. 변경 사항을 적용하기 전에 승인을 요청합니다.
MCP는 에이전트가 REA를 호출할 수 있게 하는 연결 방식입니다. 스킬은 소프트웨어를 조사하는 절차를 에이전트에 알려 줍니다.
첫 실습에서는 선택 사항인 Hopper 설치를 건너뛰어도 됩니다. 설정을 마치면 클라이언트를 다시 시작하세요.
클라이언트를 어떻게 다시 시작하나요?
데스크톱 앱 (Claude Desktop, Cursor, Windsurf, VS Code): 앱을 완전히 종료한 뒤 다시 여세요. 창만 닫아서는 충분하지 않습니다. macOS에서는 ⌘ Q를 누르세요. Windows에서는 트레이 아이콘이 있다면 그 메뉴에서도 앱을 종료하세요.
터미널 에이전트(Claude Code, Codex, Gemini CLI): 세션을 종료한 뒤 다시 시작하세요.
npx -y rea-agents@latest doctor --client codex --json
codex를 사용하는 클라이언트의 설정 ID로 바꾸세요. 검사가 성공하면 "healthy": true가 표시됩니다. 그런 다음 에이전트에 요청하세요.
REA가 연결되어 있는지 확인하고 사용할 수 있는 REA 도구를 알려 주세요.
4. 첫 조사 해 보기
이 예제는 노트 내보내기 버튼이 있는, 파일 6개로 구성된 Electron 앱입니다. 에이전트는 Electron을 설치하거나 실행하지 않고도 코드를 살펴볼 수 있습니다.
https://rea.tools/examples/notes-example.zip을 새 예제 폴더에 다운로드하고 압축을 풀어줘. REA로 메모 내보내기를 클릭하면 어떤 일이 일어나는지 찾아줘. notes.csv의 저장 위치, 포함된 필드, 관련 파일과 줄 번호를 보여줘.
파일과 줄 번호를 포함한 짧은 설명을 확인하세요:
버튼은
notes:export메시지를 보냅니다. 메인 프로세스는 메모를 CSV로 변환한 뒤 사용자의 다운로드 폴더에notes.csv파일을 저장합니다. 열은id와title입니다.
예제를 직접 다운로드하거나 자신의 앱 사용하기
에이전트가 파일을 다운로드할 수 없다면 이 압축 파일을 직접 푸세요. 에이전트에게 notes-example 폴더의 경로와 같은 내보내기 질문을 전달하세요.
REA로
/absolute/path/to/app에 있는 앱을 조사해 주세요. 데이터를 내보내는 방식을 찾아 관련 파일과 줄을 보여 주세요.
폴더의 전체 경로는 어떻게 얻나요?
- Windows: 파일 탐색기에서 폴더를 마우스 오른쪽 버튼으로 클릭하고 경로로 복사를 선택하세요. Windows 10에서는 Shift를 누른 채 마우스 오른쪽 버튼을 클릭하세요.
- macOS: Finder에서 폴더를 마우스 오른쪽 버튼으로 클릭한 뒤 Option을 누르고 “…”을(를) 경로 이름으로 복사를 선택하세요.
- 모든 시스템: 폴더를 터미널 창으로 드래그하면 해당 경로가 나타납니다.
터미널에서는 공백이 있는 경로를 따옴표로 감싸세요.
다른 종류의 소프트웨어 분석하기
대상에 맞는 항목을 선택하세요. 프로바이더는 REA가 해당 소프트웨어를 분석할 때 사용하는 로컬 분석 도구입니다.
네이티브 실행 파일과 라이브러리 · Hopper, Ghidra, IDA
REA를 실행하는 컴퓨터에 분석 도구 하나를 설치하세요. 호스트는 여러분의 운영체제이고, 대상은 분석하려는 프로그램입니다.
| 분석 도구(프로바이더) | Windows | macOS | Linux |
|---|---|---|---|
| Hopper | 사용 불가 | 12+ | 지원 배포판 |
| Ghidra | x64 · 실험적 지원 | x64 / arm64 | x64 / arm64 |
| IDA | 검증된 구성 | 검증된 헤드리스 구성 | 분석 도구 가이드 참고 |
Hopper · 설정 과정에서 설치하거나 연결하기
macOS 또는 Linux에서 Hopper를 연결하세요. 위 설정 명령은 기존 설치를 찾거나, 승인할 수 있는 설치 계획을 제안합니다.
설정에서 Hopper를 선택하고 별도로 제시되는 설치 계획을 확인하세요. macOS에서는 Hopper를 처음 열 때 데모 모드를 선택하거나 라이선스를 활성화하세요. Linux에서는 설정 과정에서 지원되는 데모와 전용 디스플레이를 준비합니다.
Linux 호스트: Ubuntu 24.04+, Fedora 41+, Nobara 44+, Arch Linux, CachyOS, Omarchy. Hopper는 상용 소프트웨어이며 데모에는 공급업체가 정한 제한이 있습니다.
npx -y rea-agents@latest doctor --provider hopper --json
macOS가 자동화 권한을 요청하면 시스템 설정 → 개인정보 보호 및 보안 → 자동화에서 REA를 시작하는 앱을 허용한 뒤 다시 시도하세요.
Ghidra · 무료 분석 도구와 Java 설치하기
- Java 컴파일러를 포함하는 64비트 JDK 21 이상을 설치하세요. 컴퓨터 아키텍처에 맞는 패키지를 선택하세요.
-
릴리스의 Assets 목록에서 Ghidra 12.1.4를 다운로드하고
ghidra_…_PUBLIC_….zip압축 파일을 푸세요. ‘Source code’가 아닌 릴리스 압축 파일을 선택하세요. -
압축을 푼 폴더 중
ghidraRun또는ghidraRun.bat가 들어 있는 폴더를 찾으세요. 그 폴더를GHIDRA_INSTALL_DIR로 지정하세요.
Java를 확인하세요. 첫 번째 명령어가 출력하는 java.home 폴더를 JAVA_HOME로 지정하세요. 두 번째 명령어로 컴파일러가 설치되어 있는지 확인합니다.
java -XshowSettings:properties -version
javac -version
Windows에서 Ghidra 연결
Windows x64에서는 고정 로컬 NTFS 드라이브의 네이티브 x86 및 x64 PE 앱과 DLL을 실험적으로 읽기 전용 분석할 수 있습니다. 기존 Ghidra 12.1.x 설치와 64비트 JDK 21 이상을 사용하세요.
$env:GHIDRA_INSTALL_DIR = "C:/tools/ghidra_12.1.4_PUBLIC"
$env:JAVA_HOME = "C:/tools/jdk-21"
npx -y rea-agents@latest doctor --provider ghidra --json
npx rea-agents@latest setup
두 경로를 실제 설치 경로로 바꾸고 설정 계획을 검토하세요.
기존 Ghidra 설치 연결
export GHIDRA_INSTALL_DIR="/absolute/path/to/ghidra_12.1.4_PUBLIC"
export JAVA_HOME="/absolute/path/to/jdk-21"
두 경로를 기존 설치 경로로 바꾸세요. macOS나 Linux arm64에 새로 설치했다면 먼저 컴퓨터에 맞는 네이티브 디컴파일러를 빌드하세요.
Ghidra의 네이티브 디컴파일러 빌드하기
macOS에서 빌드하려면 Xcode Command Line Tools, make, bison이 필요합니다. 컴퓨터에 맞는 가이드를 따르세요.
그런 다음 Ghidra를 검사하고 클라이언트용으로 경로를 저장하세요.
npx -y rea-agents@latest doctor --provider ghidra --json
npx rea-agents@latest setup
이 명령어들은 같은 터미널 세션에서 실행하세요. 경로를 설정한 뒤 설정 명령어를 다시 실행하고, 갱신된 클라이언트 설정을 승인한 다음 에이전트를 다시 시작하세요.
IDA · 기존 설치 연결하기
IDA 분석 도구 가이드를 따라 연동할 MCP 서버의 등록 설정을 준비하세요. 원본 바이너리를 연 GUI에 연결하거나, 전용 데이터베이스를 여는 헤드리스 감독 프로세스를 선택하세요.
검증된 구성에는 Windows의 레거시 GUI와 헤드리스 감독 프로세스, IDA Professional 9.1을 사용하는 macOS arm64 헤드리스 감독 프로세스가 포함됩니다. 선택 사항인 네이티브 GUI 브리지에는 별도의 버전 및 플랫폼 요구사항이 있습니다.
macOS 헤드리스 구성과 네이티브 GUI 브리지에는 REA 소스 빌드 또는 해당 변경 사항이 포함된 릴리스가 필요합니다. npm 6.4.0에는 포함되어 있지 않습니다.
빌드한 소스 디렉터리에서 아래 npx 명령 대신 node scripts/rea.mjs doctor --provider ida --json와 node scripts/rea.mjs setup을 실행하세요.
IDA 등록 파일 준비하기
아래 IDA 가이드에 따라 연동할 서버를 설치하고 설정하세요. 동작이 확인된 등록 설정을 텍스트 편집기에서 ida-mcp.json로 저장하세요. Windows 메모장에서 저장할 때는 ‘모든 파일’을 선택해 .txt가 붙지 않도록 하세요.
idb_open, idb_list, idb_close를 제공하는 헤드리스 감독 프로세스에는 다음과 같은 파일을 사용할 수 있습니다.
{
"command": "idalib-mcp",
"args": ["--stdio", "--max-workers", "1"],
"mode": "headless"
}
연결된 레거시 1.4.0 GUI 서버의 경우 동작이 확인된 command, args, 선택 사항인 env를 파일에 복사하세요. REA에 조사를 요청하기 전에 IDA에서 원본 바이너리를 열고 연동할 플러그인을 시작하세요.
$env:REA_IDA_MCP_CONFIG = "C:/analysis/ida-mcp.json"
$env:REA_ANALYSIS_PROVIDER = "ida"
npx -y rea-agents@latest doctor --provider ida --json
npx rea-agents@latest setup
export REA_IDA_MCP_CONFIG="/absolute/path/to/ida-mcp.json"
export REA_ANALYSIS_PROVIDER="ida"
npx -y rea-agents@latest doctor --provider ida --json
npx rea-agents@latest setup
분석 도구 가이드에서 준비한 JSON 등록 파일을 사용한 뒤 설정 명령어를 다시 실행하고 에이전트를 다시 시작하세요.
연결한 뒤 원본 실행 파일의 전체 경로와 사용할 분석 도구를 에이전트에 알려 주세요.
REA와 제가 설정한 분석 도구로
/absolute/path/to/program를 조사해 주세요. 함수와 문자열을 나열한 뒤, 사용자 입력을 처리하는 부분을 코드 참조와 함께 설명해 주세요.
웹사이트, Android, .NET, 펌웨어 등 다른 대상
분석할 대상에 맞는 가이드를 여세요. 각 가이드에서 추가 도구, 지원 호스트, 첫 명령어를 안내합니다.
| 대상 | 준비할 도구 | 가이드 |
|---|---|---|
| JavaScript / Electron | Node.js + npm | 가이드 열기 |
| 웹사이트 | Chrome / Chromium / Edge | 가이드 열기 |
| .NET / Flutter / 패키지 | Node.js + npm | 가이드 열기 |
| Android APK | JADX + JDK 17+ | 가이드 열기 |
| Android 기기 | adb | 가이드 열기 |
| Android 리소스 | Apktool + Java | 가이드 열기 |
| JEB 프로젝트 | JEB + MCP | 가이드 열기 |
| 펌웨어 | Binwalk / Unblob · Linux | 가이드 열기 |
| WASM | WABT | 가이드 열기 |
| SQLite 데이터베이스 | Node.js 24.15+ / 26+ | 가이드 열기 |
| EVM 바이트코드 | Node.js · Linux x64 | 가이드 열기 |
| ELF / Linux 충돌 | pwntools / GDB / pwndbg | 가이드 열기 |
| HAR / SAZ / mitmproxy | Node.js / mitmdump | 가이드 열기 |
| PCAP / PCAPNG | TShark / capinfos · Linux | 가이드 열기 |
| 논리 신호 | sigrok-cli · Linux | 가이드 열기 |
| 프로세스 동작 | PTY · Linux / macOS | 가이드 열기 |
터미널에서 REA 사용하기
CLI 명령어, 전역 설치, curl
앱을 실행하지 않고 JavaScript 또는 Electron 앱 폴더나 ASAR 파일을 분석합니다:
npx -y rea-agents@latest analyze-javascript-application "/absolute/path/to/app" --json
경로를 압축을 푼 앱 폴더나 .asar 파일로 바꾸세요. Windows에서는 "D:/apps/example" 같은 경로를 사용할 수 있습니다.
앱의 .asar 파일은 어디에 있나요?
Electron 앱은 보통 resources 폴더에 이 파일을 둡니다:
-
Windows:
C:\Users\<you>\AppData\Local\Programs\<App>\resources\app.asar -
macOS:
/Applications/<App>.app/Contents/Resources/app.asar(앱을 마우스 오른쪽 버튼으로 클릭한 뒤 패키지 내용 보기 선택) -
Linux: 대개
/opt/<App>/resources/app.asar
다른 위치에 설치되는 앱도 있습니다. 앱 폴더에서 app.asar을 찾아보세요.
결과에는 앱의 식별 정보, 모듈 간 연결과 소스 위치가 나옵니다. REA가 연결을 확인하지 못한 부분도 표시됩니다.
셸에서 rea 명령을 항상 사용할 수 있도록 설치하려면:
npm install --global rea-agents
npx -y rea-agents@latest function "/absolute/path/to/program" main --provider ghidra --json
main을 대상의 함수 목록에 있는 함수 이름이나 주소로 바꾸세요. 먼저 Ghidra를 설정해야 합니다.
macOS나 Linux에서는 Node.js를 준비한 뒤 curl 설치 프로그램을 사용할 수도 있습니다.
curl -fsSL https://raw.githubusercontent.com/morluto/rea/main/install.sh | bash
설정 안내에 따라 에이전트를 연결하세요. 안내가 나타나지 않으면 rea setup를 실행하세요.
셸에서 rea를 찾지 못하면 설치 프로그램이 출력한 실행 파일 경로를 사용하세요. Linux의 기본 설정 명령은 "$HOME/.local/bin/rea" setup입니다.
도움 받기
에이전트에서 REA가 보이지 않을 때
설정 후 클라이언트를 다시 시작하거나 연결하세요. doctor로 REA 연결을 확인할 수 있습니다. Codex의 예:
3단계의 클라이언트 검사에 사용하는 설정 ID를 지정하세요. 편집기 클라이언트에서는 MCP 설정에서 REA를 활성화하고 에이전트 채팅에서 도구 사용을 허용하세요.
분석 도구에 문제가 있을 때
사용 중인 분석 도구를 확인하세요. Ghidra의 예:
npx -y rea-agents@latest doctor --provider ghidra --json
보고서에 실패한 검사와 권장 후속 조치가 나옵니다.
Windows, WSL, 공백이 포함된 경로
Windows 클라이언트와 분석 도구에는 Windows PowerShell을 사용하세요. 에이전트가 WSL 안에서 실행된다면 해당 Linux 환경 안에 Node.js와 REA를 설치하고 Linux 경로를 사용하세요. 헤드리스 분석 도구는 REA와 같은 호스트에서 실행됩니다.
터미널에서는 공백이 있는 경로를 따옴표로 감싸세요.
Windows 설정 명령어:
npx.cmd rea-agents@latest setup
REA 업데이트 또는 제거하기
에이전트 연결을 갱신하려면 최신 설정 명령어를 다시 실행하고 계획을 확인한 뒤 클라이언트를 다시 시작하세요.
npx rea-agents@latest setup
전역 CLI를 설치했다면 rea update로 업데이트하세요. REA의 클라이언트 설정과 스킬을 제거하려면 npx rea-agents@latest uninstall을 사용하세요.