01REA
AI 에이전트에게 역설계 도구를 이어 주는 REA의 동작 방식과 기관이 대비할 점
REA가 프로그램의 무엇을 들여다보고 무엇을 돌려주는지, 프로젝트가 스스로 밝힌 쓰임새와 한계는 어디까지인지 공식 저장소와 공식 웹사이트의 문장으로 정리하고, 기관이 배포하는 프로그램에서 대비할 점을 짚습니다.
한눈에 보기
- REA는 AI 에이전트가 MCP로 불러 쓰는 오픈 소스 역설계 도구 모음이고, 터미널 명령으로도 같은 기능을 씁니다.15,18
- 실행 파일·JavaScript 앱·웹 페이지에서 코드 모양의 결과와 근거를 돌려주며, 그 결과로 설명하고 새로 짜는 일은 에이전트가 맡습니다.16,17
- 문서는 분석 프로그램이 만든 의사코드를 원래 소스로 다루지 않는다고 적었고, 남의 독점 소프트웨어를 베끼는 일은 돕지 않는다고 밝혔습니다.31,34
- 소방에서는 이 도구를 쓰기보다, 기관이 배포한 프로그램·웹 페이지 안의 글자가 이런 도구로 쉽게 드러난다는 점에 대비하는 것이 핵심입니다.41 해석
이번에 알려진 소식

2026년 10월 기술 매체 보도 제목에 REA와 Photoshop 대체 프로그램이 함께 올랐습니다.1
공식 자료로 보면 Photoshop을 다시 만든 프로젝트는 별도의 PhotoCraft이고, REA는 자신을 "에이전트로 무엇이든 역설계한다(Reverse engineer anything with agents)"고 소개하는 도구입니다.5,7
REA 저장소 morluto/rea는 2026-04-14에 만들어졌고 MIT 라이선스로 공개돼 있으며, 설치용 npm 패키지 rea-agents는 2026-07-12에 처음 게시됐습니다.8,9
README는 이 저장소, 공식 웹사이트 rea.tools, npm 패키지를 공식 경로로 적고, 이름이 비슷한 저장소나 README를 베낀 사본은 공식 배포본이라는 증거가 아니라고 밝혔습니다.10
역설계의 뜻

REA 공식 웹사이트는 역설계(reverse engineering)를 "프로그램 자체를 살펴보며 소프트웨어가 어떻게 동작하는지 알아내는 일"이라고 설명합니다.11
설치 프로그램은 대개 사람이 쓴 소스 코드가 아니라 컴퓨터가 곧장 실행하는 바이너리(실행 파일)로 배포되므로, 역설계는 이 바이너리에서 거꾸로 동작 원리를 읽어 내는 일입니다.
REA는 이미 설치된 Hopper, Ghidra, IDA 같은 디컴파일러(기계어를 코드 모양으로 되돌려 보여 주는 분석 프로그램)를 불러 실행 파일을 읽고, 의사코드와 어셈블리를 돌려줍니다.13,14
의사코드는 분석 프로그램이 기계어 명령을 보고 추정해 적은 코드 모양의 설명이고, 어셈블리는 기계어 명령을 글자로 옮긴 목록입니다.
README는 이 과정을 AI 에이전트에게 맡겨, 소스 코드 없이 앱을 살펴보고 기능을 설명하고 근거를 보여 주고 비슷한 기능을 사용자의 프로젝트에 만드는 쓰임을 앞세웁니다.12
Reverse engineering means learning how software works by inspecting the program itself.
역설계는 프로그램 자체를 살펴보며 소프트웨어가 어떻게 동작하는지 알아내는 일입니다.
REA 공식 웹사이트(rea.tools)11 · 번역
REA의 동작 방식

REA는 MCP(AI 에이전트가 바깥 도구를 불러 쓰도록 정한 연결 규격)로 에이전트와 연결됩니다.15
에이전트가 REA를 불러 대상을 살펴보고 관련 코드를 따라가면 REA는 찾은 내용을 근거와 함께 돌려주고, 에이전트는 그 결과로 동작을 설명하거나 새 코드를 짜고 시험합니다.15,16,17
같은 도구는 터미널 명령으로도 씁니다.18
설치할 때 연결할 에이전트를 고르고 바뀌는 설정을 검토·승인하며, Claude Code·Codex·Cursor·Gemini CLI 등을 지원합니다.19,20
README는 실행 파일, JavaScript·Electron 앱(웹 기술로 만든 데스크톱 앱), .NET 어셈블리, 웹 사이트를 살펴보는 도구를 이어 준다고 적었고, 대상 표에는 안드로이드 앱과 펌웨어도 있습니다.21,22
정적 분석은 파일만 읽고 앱을 실행하지 않으며, 런타임 분석은 고른 대상을 사용자 권한으로 실제로 실행하거나 조작하며 관찰합니다.23,24
분석은 사용자 컴퓨터에서 이뤄지고, 결과마다 근거와 한계를 함께 담는다고 적었습니다.25
- 도구 호출에이전트가 MCP로 REA의 분석 도구를 부릅니다.
- 분석내장 정적 분석이나 Hopper·Ghidra·IDA 같은 분석 프로그램이 대상을 읽습니다.
- 근거 반환REA가 코드, 참조, 아직 모르는 항목을 근거와 함께 돌려줍니다.
- 설명에이전트가 그 결과로 동작을 설명합니다.
REA가 밝힌 쓰임새와 한계

공식 웹사이트 사례에서 REA가 맡는 몫이 드러납니다.
Chrome 공룡 게임 사례에서는 REA가 브라우저 디버깅 연결로 실행 중인 게임 스크립트를 읽어 오고, 에이전트가 그 속도 규칙을 작은 게임으로 새로 만듭니다.26,27
Notion 사례는 데스크톱 앱의 JavaScript를 따라 복사 기능이 시스템 클립보드에 닿는 길을 찾았습니다.28
1996년 Windows 게임 DX-Ball 사례에서는 REA가 명령·호출 관계·데이터를 내주고, C 코드로 다시 짜서 시험하는 일은 별도 재구성 프로젝트가 맡았습니다.29,30
문서는 결과의 성격에도 선을 긋습니다.
설치 문서는 분석 프로그램이 만든 의사코드를 원래 소스로 다루지 않는다고 적었고, 면책 문서(DISCLAIMER.md)는 디컴파일·재구성·AI 보조 분석이 불완전하거나 틀릴 수 있으며 소스 비슷한 결과를 얻어도 원래 프로그램에 대한 권리는 생기지 않는다고 밝혔습니다.31,32,33
같은 문서는 복제 방지(DRM)·라이선스 확인 우회, 게임 부정행위 도구, 남의 독점 소프트웨어를 베끼는 일을 REA 프로젝트가 돕지 않는다고 적었습니다.34
라이선스와 저작권은 이 글이 판단하지 않으며, AI 관계법령의 저작권법 카드와 법령 본문에서 확인합니다.
화제가 된 배경

REA README 첫머리에는 "마음에 드는 기능을 보면, 그것이 어떻게 동작하는지 바이너리 수준까지 이해하라"는 문장이 있습니다.36
공식 웹사이트는 Windows 계산기·Chrome 공룡 게임·Notion을 연 사례를 앞에 두고, "이 웹 사이트를 복제해 달라(Clone this website for me)" 같은 예시 프롬프트를 실었습니다.37,38
다만 같은 프로젝트의 면책 문서는 남의 독점 소프트웨어를 베끼는 일을 돕지 않는다고 적었습니다.34
npm에는 2026-07-12부터 2026-10-18까지 rea-agents 판본 33개가 게시됐고, 이 사이트가 2026-10-16에 관측한 GitHub 주간 트렌딩 목록에도 morluto/rea가 들어 있었습니다.39,40
남의 앱에서 본 기능을 내 프로젝트에 다시 만든다는 소개와 익숙한 프로그램을 연 사례가, 같은 시기의 PhotoCraft 소식과 섞여 한 이야기로 묶인 것으로 보입니다. 해석
소방 업무에서 대비할 일과 하지 않을 일

REA 같은 역설계 도구가 널리 쓰이면, 기관이 배포한 프로그램 안에 적힌 글자도 누구나 꺼내 볼 수 있다고 보아야 합니다.
README 대상 표는 실행 파일에서 문자열·심볼·호출 관계를, 웹 사이트에서 스크립트와 네트워크 관찰 결과를 얻는다고 적었습니다.41
그래서 소방에서 이 소식이 갖는 의미는 도구를 직접 쓰는 데 있지 않고, 기관 배포물이 이런 분석에 드러난다는 전제로 대비하는 데 있습니다. 해석
권장 사항
- 기관이 배포하는 설치 파일·웹 페이지·모바일 앱에는 비밀번호, API 키(외부 서비스 접속용 열쇠 문자열), 내부 서버 주소를 넣지 않습니다.
이런 값은 배포 파일이 아니라 기관 서버의 설정에 둡니다. - 외부 업체에서 프로그램을 납품받을 때는 위 값이 배포 파일에 들어 있지 않은지를 검수 항목에 넣습니다.
하지 말 것
- 상용·납품 프로그램을 업무 PC에서 역설계하지 않습니다.
README는 용도를 소유했거나 검토 권한을 받은 소프트웨어의 분석 등으로 적었고, 면책 문서는 파일을 가지고 있다는 사실만으로 모든 작업 권한이 생기지 않는다고 밝혔습니다.35,42 - 업무망 PC에 설치하지 않습니다.
런타임 분석은 대상을 실제로 실행하고, 면책 문서는 이런 작업이 파일·계정·장치·서비스에 영향을 줄 수 있으니 믿을 수 없는 대상은 알맞은 환경에서 다루라고 적었습니다.24,43,44 - 내부 프로그램의 분석 결과를 외부 AI 서비스로 넘기지 않습니다.
REA FAQ는 결과가 에이전트에 전달되고 그 AI 모델 제공자의 데이터 정책이 적용된다고 적었습니다.45
넣을 자료는 AI 관계법령 페이지의 생성형 AI 입력 확인에서 먼저 살핍니다.
용어 풀이
- 역설계(reverse engineering)
- 프로그램 자체를 살펴보며 소프트웨어가 어떻게 동작하는지 알아내는 일.
- 바이너리
- 사람이 쓴 소스 코드를 컴퓨터가 실행하도록 바꿔 둔 파일. 흔히 받는 설치 프로그램이 이 형태입니다.
- 디컴파일러
- 기계어 명령을 사람이 읽기 쉬운 코드 모양으로 되돌려 보여 주는 프로그램. Hopper·Ghidra·IDA가 그 예입니다.
- 의사코드
- 디컴파일러가 명령을 보고 추정해 적은 코드 모양의 설명. 원래 소스 코드와 같지 않습니다.
- MCP
- AI 에이전트가 바깥 도구를 불러 쓰도록 정한 연결 규격.
- 런타임 분석
- 프로그램을 실제로 실행하면서 그 동작을 관찰하는 분석. 파일만 읽는 정적 분석과 구분됩니다.
날짜로 본 흐름
헷갈리기 쉬운 점
REA가 포토샵을 만든 것은 아닙니다.
Photoshop을 다시 구현한다고 밝힌 프로젝트는 PhotoCraft이고, PhotoCraft README에는 REA가 나오지 않습니다.
REA 저장소에서도 Photoshop이나 PhotoCraft를 언급한 곳을 찾지 못했습니다.6의사코드는 원래 소스가 아닙니다.
REA 문서는 분석 프로그램이 만든 의사코드를 원래 소스로 다루지 않는다고 적었습니다.31
다시 짜는 일은 에이전트와 사람이 하고, 그 결과는 시험으로 확인합니다.17,29"내 컴퓨터에서 분석한다"와 "밖으로 아무것도 나가지 않는다"는 다른 말입니다.
분석은 사용자 컴퓨터에서 하지만, 결과는 에이전트와 그 AI 모델 제공자에게 전달됩니다.45
출처와 문장별 근거
- REA 저장소 README
- REA 면책 문서
- REA 설치 문서
- REA 공식 웹사이트
- REA 안내서
- REA 안내서 (2)
- REA 사례
- REA 사례 (2)
- REA 사례 (3)
- REA FAQ
- npm 패키지 rea-agents
- npm 패키지 rea-agents (2)
- GitHub API 저장소 정보
- 7"Reverse engineer anything with agents, from app behavior down to native binaries."https://api.github.com/repos/morluto/rea
- 8`"created_at": "2026-04-14T00:51:32Z"` / `"spdx_id": "MIT"`https://api.github.com/repos/morluto/rea
- 9`"created": "2026-07-12T12:46:31.493Z"` / `"0.2.1": "2026-07-12T12:46:31.809Z"`https://registry.npmjs.org/rea-agents
- 10"A similar repository name or copied README does not establish that a download is official."https://github.com/morluto/rea
- 11"Reverse engineering means learning how software works by inspecting the program itself."https://rea.tools/
- 12"It can inspect the app without its source code, explain how the feature works, show the evidence, and build a version for your project."https://github.com/morluto/rea
- 13"Native analysis can use an existing Hopper, Ghidra, or IDA installation; setup can optionally install Hopper with approval."https://github.com/morluto/rea
- 14"Native analysis returns pseudocode and assembly."https://github.com/morluto/rea
- 15"Your agent calls REA through MCP to inspect the target and trace relevant code."https://github.com/morluto/rea
- 16"REA returns findings with their evidence."https://github.com/morluto/rea
- 17"The agent uses them to ask follow-up questions, explain the behavior, or write and test an implementation."https://github.com/morluto/rea
- 18"You can also use the same tools from your terminal."https://github.com/morluto/rea
- 19"Choose your agents, review the proposed changes, and approve them."https://github.com/morluto/rea
- 20"Setup supports Claude Code, Codex, Cursor, Gemini CLI, Grok Build and other agents."https://github.com/morluto/rea
- 21"REA connects your agent to tools for inspecting native binaries, JavaScript and Electron apps, .NET assemblies, and websites."https://github.com/morluto/rea
- 22"Android APKs — Manifest declarations, classes, decompiled methods and references" / "Firmware — Regions, extraction results and native-analysis handoffs"https://github.com/morluto/rea
- 23"Static JavaScript and .NET inspection read the supplied files without running the application."https://github.com/morluto/rea
- 24"Runtime capture runs or interacts with the selected target using your user permissions; each runtime guide describes its effects."https://github.com/morluto/rea
- 25"Analysis runs locally, and results include the evidence and limitations behind each conclusion."https://github.com/morluto/rea
- 26"REA inspected the HTTP browser edition through a local debugging connection and returned the loaded index.js, including its source and digest."https://rea.tools/
- 27"02 · Your agent — Rebuild the rule, add a control — Use the recovered acceleration in a small game with a speed slider."https://rea.tools/
- 28"Trace a clipboard call from Notion's page API, through the preload and main process, to Electron's clipboard writer."https://rea.tools/showcase/notion/
- 29"REA supplies the instructions, callers and data reads; the reconstruction project implements and tests the result."https://rea.tools/showcase/dx-ball/
- 30"The goal is a maintainable C version of the 1996 Windows game."https://rea.tools/showcase/dx-ball/
- 31"Unresolved computed calls remain unknown, reference-kind provenance is preserved, and provider-specific pseudocode is never treated as original source or Hopper-equivalent text."https://github.com/morluto/rea/blob/main/docs/installation.md
- 32"Decompilation, reconstruction, heuristics, and AI-assisted analysis may be incomplete or incorrect."https://github.com/morluto/rea/blob/main/DISCLAIMER.md
- 33"Obtaining source-like output or an analysis report does not grant rights to the original program, its data, or the generated output."https://github.com/morluto/rea/blob/main/DISCLAIMER.md
- 34"The REA project does not support, and will not help with: circumventing DRM, license checks, anti-cheat systems or other technical protection measures; developing game cheats or tampering with online services; … copying proprietary software or reproducing its protected code and assets; …"https://github.com/morluto/rea/blob/main/DISCLAIMER.md
- 35"REA is for lawful research, education, interoperability, software preservation, and analysis of software you own or are authorized to examine."https://github.com/morluto/rea
- 36"See a feature you like. Understand how it works, down to the binary level."https://github.com/morluto/rea
- 37"Example 01 · Chrome’s dinosaur game" / "Example 02 · Windows Calculator" / "Electron · Feature tracing — How Notion copies text and HTML"https://rea.tools/
- 38"Use REA to inspect https://rea.tools/. Clone this website for me." / "Use REA to reconstruct this game from its executable."https://rea.tools/
- 39확인 기록: npm 레지스트리 time 필드의 판본 33개를 셈(2026-10-24) — 0.2.1 2026-07-12T12:46:31.809Z ~ 6.7.0 2026-10-18T08:12:05.640Zhttps://registry.npmjs.org/rea-agents
- 40확인 기록: 이 사이트의 GitHub 주간 트렌딩 관측(data/github-trending.json, observed_on 2026-10-16) 목록에 morluto/reahttps://119-ai-studio.kr/repo-radar.html#sec-ghtrend
- 41"Native binaries — Pseudocode, assembly, strings, symbols, calls and references" / "Websites — Page structure, scripts, network observations and requested screenshots"https://github.com/morluto/rea
- 42"Public availability of software, possession of a file, or access to a debugging endpoint does not by itself establish permission for every operation."https://github.com/morluto/rea/blob/main/DISCLAIMER.md
- 43"These actions can affect application state, files, accounts, devices, and services."https://github.com/morluto/rea/blob/main/DISCLAIMER.md
- 44"Review the operations you request, including agent-generated plans and scripts, and use an appropriate environment for untrusted targets."https://github.com/morluto/rea/blob/main/DISCLAIMER.md
- 45"Your agent receives the results, and its model provider's data policy applies to those results"https://rea.tools/faq/
PhotoCraft
VectorCraft
FilmCraft
LightCraft
PdfCraft
EffectCraft
DesignCraft
FigCraft
WordCraft
SoundCraft
DeckCraft
CADCraft
GridCraft





