REA(Reverse Engineer Anything)는 AI 에이전트가 Ghidra·IDA·Hopper 같은 역공학 도구를 직접 다룰 수 있게 이어 주는 오픈소스 도구입니다. 소스 코드가 공개되지 않은 앱도 AI가 실행 파일을 열어 보고, 무엇을 근거로 그렇게 판단했는지와 함께 동작을 설명해 줍니다. 분석 기술은 예전부터 있던 것이고, REA가 새로 한 일은 그 도구들을 AI가 쓸 수 있게 연결한 것이에요.
먼저 알아둘 용어 (눌러서 펼치기)
| 용어 | 원래 이름 | 쉽게 말하면 |
|---|---|---|
| REA | Reverse Engineer Anything | AI가 역공학 도구를 다루게 해 주는 통합 리모컨 |
| AI 에이전트 | AI Agent | 대답만 하지 않고 도구를 직접 써서 일을 끝내는 AI |
| Claude Code·Codex·Cursor | AI 코딩 에이전트 제품 이름 | 코드를 읽고 쓰는 대표적인 AI 에이전트들 |
| 오픈소스 | Open Source | 설계도(코드)를 공개해 누구나 보고 쓸 수 있는 프로그램 |
| GitHub 저장소 | GitHub Repository | 프로그램 코드를 모아 공개해 두는 온라인 창고 |
| 역공학(리버스 엔지니어링) | Reverse Engineering | 완성품을 뜯어보고 만드는 법을 거꾸로 알아내는 일 |
| 소스 코드 | Source Code | 사람이 읽고 쓰는 프로그램 원본, 요리로 치면 레시피 |
| 컴파일 | Compile | 레시피(소스 코드)로 컴퓨터용 요리(실행 파일)를 만드는 과정 |
| 실행 파일(바이너리) | Executable / Binary | 컴퓨터만 읽는 0과 1 덩어리, 완성된 찌개 |
| 디컴파일 | Decompile | 찌개를 맛보고 레시피를 거꾸로 짐작해 적는 일 |
| 의사 코드 | Pseudocode | 흐름은 읽히지만 원본과 똑같지는 않은 '짐작한 레시피' |
| Ghidra·IDA·Hopper | 역공학 도구 이름 | 실행 파일을 열어 사람이 읽기 쉽게 풀어 주는 분석 장비 |
| NSA | National Security Agency | 미국 국가안보국, Ghidra를 만들어 무료로 공개한 기관 |
| MCP | Model Context Protocol | AI와 바깥 도구를 잇는 공통 규격, AI 쪽의 USB 단자 |
| USB | Universal Serial Bus | 휴대폰 충전기 끝에 달린 단자 규격 |
| 격리 환경(샌드박스) | Sandbox | 밖으로 피해가 번지지 않게 울타리를 친 실험 공간 |
| 가상 머신 | Virtual Machine | 내 컴퓨터 안에 만든 연습용 컴퓨터, 망가지면 지우면 그만 |
| 프로그램코드역분석 | 저작권법 제2조 제34호의 법률 용어 | 법에서 소프트웨어 역공학을 부르는 이름 |
| Node.js | JavaScript 실행 환경 | 설치 명령을 돌리려면 먼저 깔아야 하는 프로그램 |
| npx | Node Package eXecute | 프로그램을 따로 설치하지 않고 받아서 바로 실행하는 명령 |
| 터미널 | Terminal | 마우스 대신 글자로 명령을 입력하는 창 |
| C 언어 | C Programming Language | 임베디드에서 가장 많이 쓰는 프로그래밍 언어 |
| 자바스크립트 | JavaScript | 웹페이지와 일부 컴퓨터 앱을 만드는 언어 |
소스 코드가 없는 앱을 AI는 어떻게 들여다볼까?
메모 앱의 검색 기능이 마음에 들어서, 내 프로그램에도 비슷하게 넣고 싶다고 해 봅시다. 그런데 그 앱은 소스 코드를 공개하지 않습니다. 설치 폴더에는 컴퓨터만 읽을 수 있는 실행 파일뿐이에요. 도구 없이 질문만 받은 AI는 실제 파일을 열어 볼 수 없으니, 비슷한 앱들의 일반론으로 짐작해 답할 수밖에 없습니다.
REA는 이 빈틈을 메웁니다. AI가 실제 실행 파일을 열어 보고, 무엇을 근거로 그렇게 판단했는지까지 보여 줍니다. 공개 뒤 빠르게 퍼져서 2026년 10월 15일 기준 GitHub 저장소에서 별(관심 표시)을 약 23만 개 받았습니다.
역공학이란? 찌개 맛을 보고 레시피를 알아내는 일
맛집 김치찌개를 먹어 보고 집에서 비슷하게 끓여 본 적 있나요? 레시피는 모르지만 맛과 건더기를 보고 "멸치 육수에 묵은지를 썼구나" 하고 거꾸로 짐작합니다. 완성품을 보고 만드는 법을 알아내는 이 일을 소프트웨어에서는 역공학(리버스 엔지니어링)이라고 부릅니다.
소프트웨어에서 레시피에 해당하는 것이 소스 코드입니다. 개발자가 쓴 소스 코드는 컴파일을 거쳐 실행 파일(바이너리)이 되는데, 이때 사람을 위한 정보가 많이 사라집니다. 변수 이름, 주석, 함수를 나눈 의도 같은 것들이요. 레시피 여백에 적어 둔 메모가 완성된 찌개에 남지 않는 것과 같습니다.
그래서 실행 파일을 거꾸로 풀어내는 디컴파일을 해도 원래 소스 코드가 그대로 돌아오지 않습니다. 흐름은 읽히지만, 이름 자리에는 FUN_00401a30 같은 기계적인 이름이 채워진 의사 코드가 나옵니다. 이런 이름은 Ghidra가 붙이는 방식이에요.
REA는 무엇을 할까? AI와 분석 도구를 잇는 통합 리모컨
디컴파일 도구는 오래전부터 있었습니다. 1990년대부터 쓰인 IDA, 2019년 미국 NSA(국가안보국)가 무료로 공개한 Ghidra, macOS에서 주로 쓰는 Hopper가 대표적이에요. 다만 도구마다 사용법이 다르고, 수많은 함수 가운데 어디부터 봐야 할지 판단하려면 경험이 많이 필요했습니다.
REA는 이 도구들과 AI 에이전트 사이에서 둘을 연결합니다. 집에 텔레비전, 셋톱박스, 에어컨 리모컨이 따로 있으면 헷갈리지만, 통합 리모컨 하나면 버튼 몇 개로 다 다룰 수 있죠. REA는 그 통합 리모컨에 해당하고, 리모컨을 누르는 쪽은 AI입니다.
AI가 리모컨을 누를 때 쓰는 공통 규격이 MCP입니다. 충전기와 휴대폰은 USB 단자만 맞으면 제조사가 달라도 연결되죠. 마찬가지로 MCP를 지원하는 AI 에이전트라면 REA를 붙여 쓸 수 있고, Claude Code·Codex·Cursor 등이 여기에 해당합니다. 분석 대상도 컴퓨터 프로그램의 실행 파일부터 웹사이트, 안드로이드 앱까지 넓습니다.
REA 분석은 어떤 순서로 진행될까?
메모 앱 검색 기능을 예로 들면, 분석은 다섯 단계로 흘러갑니다.
- 질문: 사람이 "검색이 어떻게 동작하는지 근거와 함께 알려 줘"라고 요청합니다.
- 살펴보기: AI가 REA를 거쳐 앱의 실행 파일을 열고 전체 구조를 훑습니다.
- 따라가기: 검색과 관련 있어 보이는 함수를 찾아, 어디서 불리고 무엇을 부르는지 따라갑니다.
- 근거 정리: REA가 찾은 코드와 함께 "여기까지는 확인됨, 여기는 모름"을 나눠 돌려줍니다.
- 설명·구현: AI가 그 결과로 동작을 설명하거나, 비슷한 기능을 만들어 테스트합니다.
2~4단계 사이에서 AI는 결과를 보고 다음에 볼 곳을 스스로 정합니다. 사람이 도구를 바꿔 가며 되풀이하던 일을 AI가 맡는 셈입니다.
REA의 한계와 흔한 오해
화제가 된 만큼 부풀려진 이야기도 많습니다. 쓰기 전에 네 가지는 알아 두는 게 좋아요.
- 새로운 분석 기술이 아닙니다. 디컴파일은 Ghidra·IDA 같은 기존 도구가 하고, REA는 그 결과를 AI가 다루기 쉽게 정리해 넘깁니다. 분석 품질의 바탕은 여전히 이 도구들입니다.
- 결과가 틀릴 수 있습니다. 디컴파일 결과부터가 짐작한 레시피이고, 그 위에 AI의 해석이 한 겹 더 얹힙니다. REA가 근거와 모르는 부분을 함께 보여 주는 것도 이 때문이니, 중요한 결론은 근거를 직접 확인해야 합니다.
- 격리 환경(샌드박스)이 아닙니다. 일부 분석은 대상 프로그램을 실제로 실행합니다. 출처를 믿기 어려운 프로그램은 가상 머신처럼 분리된 환경에서 다뤄야 합니다.
- 분석 결과는 AI 회사 서버로 전달됩니다. 분석은 내 컴퓨터에서 돌지만, AI 에이전트가 받은 결과는 대화 내용에 담겨 AI 모델 회사로 넘어가고 그 회사의 데이터 정책을 따릅니다. 회사 코드나 고객 자료를 다룬다면 이 점부터 따져 봐야 합니다.
역공학, 어디까지 해도 될까?
역공학이 그 자체로 불법은 아니지만, 아무 프로그램에나 해도 되는 일도 아닙니다. 저작권법은 이를 "프로그램코드역분석"이라고 부릅니다. 저작권법 제101조의4에 따르면 프로그램을 정당하게 쓰는 사람은 다른 프로그램과의 호환에 필요한 정보를 달리 얻기 어려울 때, 그 필요한 부분에 한해 허락 없이 이를 할 수 있습니다. 반대로 이렇게 얻은 정보를 호환 외 목적에 쓰거나, 원래 프로그램과 표현이 실질적으로 비슷한 프로그램을 만드는 데 쓰면 안 됩니다.
REA 프로젝트도 허용 용도를 보안 연구, 교육, 호환성 확보, 직접 소유했거나 허가받은 소프트웨어 분석으로 밝혀 두었습니다. 복제 방지나 라이선스 확인을 우회하는 일, 상용 소프트웨어를 복제하는 일은 돕지 않는다고 적었고, IDA·Hopper 같은 유료 도구는 정식 라이선스가 있어야 합니다.
기능의 원리를 이해하는 것과 그 코드를 옮겨 오는 것은 다른 일입니다. 업무에 쓸 생각이라면 회사 법무 담당과 먼저 확인하세요. 이 글은 법률 자문이 아닙니다.
REA 직접 써 보려면
현장 팁: 설치 방법 (눌러서 펼치기)
Node.js를 설치한 뒤 터미널에서 아래 npx 명령 한 줄을 실행합니다. 지원하는 Node.js 버전은 공식 안내를 확인하세요.
npx rea-agents setup설치 중에 쓸 AI 에이전트를 고르고, 바뀌는 설정을 확인해 승인한 뒤 AI 에이전트를 다시 켜면 됩니다. 실행 파일까지 깊게 보려면 Ghidra·IDA·Hopper 중 하나가 따로 필요한데, Ghidra는 무료입니다. 이름이 비슷한 저장소도 있으니 공식 GitHub 저장소(morluto/rea)나 공식 사이트에서 받으세요.
REA 자주 묻는 질문
REA를 쓰면 원래 소스 코드가 그대로 나오나요?
REA 분석 결과는 실제로 얼마나 정확한가요?
분석할 앱이 인터넷에 올라가나요?
앱 자체를 외부 분석 서비스에 올리지는 않습니다. 분석은 내 컴퓨터에서 하지만, 그 결과는 AI 에이전트를 거쳐 AI 모델 회사로 전달됩니다.
Ghidra 같은 도구가 꼭 있어야 하나요?
실행 파일을 깊게 분석하려면 Ghidra·IDA·Hopper 중 하나가 필요합니다. 자바스크립트로 만든 앱처럼 이런 도구 없이 살펴볼 수 있는 대상도 있어요.
정리
REA는 AI 에이전트가 기존 역공학 도구를 직접 다루게 해 주는 연결 도구입니다. 소스 코드 없이도 실행 파일을 근거로 동작을 설명해 주지만, 결과에는 짐작이 섞여 있고 법이 허용하는 범위도 지켜야 합니다. 쓸 때는 함께 나온 근거를 직접 확인하고, 분석 대상과 목적이 허용 범위 안인지 먼저 따져 보세요.
참고 자료
- morluto, REA: Reverse Engineer Anything (README) (동작 방식·분석 대상·설치 명령·별 개수): https://github.com/morluto/rea
- morluto, DISCLAIMER.md (허용 용도·분석 결과의 한계·실행 시 주의): https://github.com/morluto/rea/blob/main/DISCLAIMER.md
- 국가법령정보센터, 저작권법 제2조 제34호·제101조의4 (프로그램코드역분석의 정의와 허용 범위): https://www.law.go.kr/법령/저작권법
- National Security Agency, Ghidra Software Reverse Engineering Framework (Ghidra 공개 출처): https://github.com/NationalSecurityAgency/ghidra
- Model Context Protocol, Model Context Protocol 공식 문서·사양 (MCP의 정의): https://modelcontextprotocol.io
'AI 트렌드' 카테고리의 다른 글
| MCP 쉽게 이해하기 (0) | 2026.10.17 |
|---|---|
| Jev란? 글 대신 선택지와 확률로 답하는 AI, LLM 비용을 줄이는 활용법 (0) | 2026.10.16 |
