본문 바로가기

블로그

비싼 돈 들여 만든 프로그램, 이제 AI가 순식간에 만들어버립니다

7분 분량

“다른 앱에서 내 제품에 넣고 싶은 기능을 봤나요? 에이전트에게 REA로 조사해 보라고 하세요. 소스 코드 없이도 앱을 들여다보고, 그 기능이 어떻게 돌아가는지 설명하고, 근거를 보여 주고, 당신 프로젝트에 맞는 버전을 만들어 줍니다.”

깃허브에 올라온 오픈소스 프로젝트 REA의 소개 문구입니다. REA는 ‘Reverse Engineer Anything’, 무엇이든 거꾸로 뜯어본다는 뜻이에요. 이 프로젝트가 지금 개발자들 사이에서 난리입니다. 깃허브에서 ‘좋아요’에 해당하는 별을 10월 8일 2만 개에서 14일 20만 개까지 모았고, 오늘(16일)은 27만 개를 넘었어요. 일주일 남짓 만에요.

REA가 받은 깃허브 별 개수 그래프입니다. 지난 4월에 만들어진 뒤 조용하다가 10월 들어 수직으로 솟았어요(star-history.com).
REA가 받은 깃허브 별 개수 그래프입니다. 지난 4월에 만들어진 뒤 조용하다가 10월 들어 수직으로 솟았어요(star-history.com).

“리버스 엔지니어링”이 뭘까요?

우리가 쓰는 프로그램은 대부분 개발자가 쓴 코드를 컴퓨터가 알아듣는 형태로 바꿔서 배포됩니다. 사람이 그대로 읽기는 어려운 모양이죠. 리버스 엔지니어링, 우리말로 역공학은 이 과정을 거꾸로 밟아서 완성된 프로그램이 안에서 어떻게 돌아가는지 알아내는 일이에요.

원래는 전문가의 영역이었습니다. Ghidra나 IDA, Hopper 같은 전문 도구를 띄워 놓고 기계어를 한 줄씩 읽어 가며 추리해야 했거든요.

REA가 역공학 도구 Hopper 안에서 분석을 시작하는 화면입니다. 원래 역공학은 이런 화면을 사람이 직접 읽어 가며 하는 일이었어요(REA 깃허브).
REA가 역공학 도구 Hopper 안에서 분석을 시작하는 화면입니다. 원래 역공학은 이런 화면을 사람이 직접 읽어 가며 하는 일이었어요(REA 깃허브).

REA는 AI에게 그 도구를 쥐여 줍니다.

REA의 핵심은 Claude Code, Codex, Cursor 같은 AI 코딩 에이전트가 이런 분석 도구를 직접 쓸 수 있게 이어 주는 것입니다. 설치는 명령어 한 줄이면 되고, 그다음엔 에이전트에게 말로 시키면 돼요. AI가 알아서 도구를 돌리고, 결과를 읽고, 아직 모르는 부분은 모른다고 표시한 뒤 설명하거나 비슷한 기능을 직접 만들어 봅니다.

대상도 넓습니다. 웹사이트, 데스크톱 앱, 안드로이드 앱, 기기 안에 들어가는 펌웨어까지 들여다볼 수 있어요. 분석 자체는 내 컴퓨터 안에서 돌아가고요. 일본의 한 개발자는 REA를 두고 스스로 분석하는 도구라기보다 여러 분석 도구를 AI가 쓰기 좋게 묶어 준 꾸러미에 가깝다고 평가하기도 했습니다.

REA가 일하는 순서입니다. 에이전트에게 앱이나 프로그램에 대해 물으면 REA가 분석 도구로 들여다보고, 코드와 근거와 아직 모르는 부분을 돌려줍니다. 에이전트는 그걸로 설명하고, 만들고, 테스트해요(REA 깃허브).
REA가 일하는 순서입니다. 에이전트에게 앱이나 프로그램에 대해 물으면 REA가 분석 도구로 들여다보고, 코드와 근거와 아직 모르는 부분을 돌려줍니다. 에이전트는 그걸로 설명하고, 만들고, 테스트해요(REA 깃허브).

30년 가까이 된 게임도 뜯었습니다.

REA가 내세운 사례가 재미있어요. 1990년대 벽돌깨기 게임 DX-Ball에서는 벽돌 위치에 따라 효과음이 왼쪽이나 오른쪽에서 들리게 하는 계산식을 찾아냈습니다. AI가 다시 짠 코드는 원래 게임과 3,205가지 경우에서 똑같은 값을 냈고, 컴파일해 보니 원래 함수와 63바이트까지 똑같았어요.

1990년대 일본 PC-98용 슈팅 게임인 동방 프로젝트 4편에서는 총알이 원을 그리며 퍼지는 패턴의 각도 계산을 되살렸습니다. 노션 데스크톱 앱에서는 복사해서 붙여 넣을 때 블록 정보가 어떤 길로 전달되는지 추적했고요.

REA 깃허브에 소개된 세 가지 사례입니다. 왼쪽부터 DX-Ball의 효과음 위치 계산, 노션의 복사 붙여넣기 통로, 동방 프로젝트 4편의 원형 탄막이에요(REA 깃허브).
REA 깃허브에 소개된 세 가지 사례입니다. 왼쪽부터 DX-Ball의 효과음 위치 계산, 노션의 복사 붙여넣기 통로, 동방 프로젝트 4편의 원형 탄막이에요(REA 깃허브).

AI도 틀립니다. 그래서 근거를 붙입니다.

물론 AI가 척척 다 해내는 건 아닙니다. DX-Ball 사례에서도 분석 도구가 보여 준 코드에는 함수에 들어가는 값 하나가 빠져 있었어요. 그 화면만 믿었다면 AI는 그럴듯하게 틀린 답을 냈을 겁니다. 그래서 REA는 결론마다 근거와 한계를 함께 돌려주고, 사례마다 사람이 직접 확인한 단계가 들어가 있어요. 함수 하나를 되살린 것과 게임 하나를 다시 만드는 것 사이의 거리도 아직 멀고요.

포토샵을 통째로 다시 만든 사람도 나왔습니다.

REA가 뜬 바로 그 주에 화제가 된 프로젝트가 하나 더 있어요. 미국 개발자 브랜던 토머스가 내놓은 PhotoCraft입니다. 어도비 포토샵을 처음부터 새로 짠 무료 오픈소스 프로그램으로, 레이어와 마스크, 보정 레이어, 글자, 브러시에 포토샵 파일(PSD)까지 다뤄요. 토머스는 Anthropic의 AI인 Claude Opus 5.5로 포토샵과 일러스트레이터, 프리미어, 라이트룸 같은 어도비 프로그램 일곱 개를 다시 만들었다고 밝혔습니다. 어도비 구독을 해지하다 위약금을 여러 번 물고 나서 어도비가 싫어졌다고 하고요. 9월 30일에 연 PhotoCraft 저장소는 2주 남짓 만에 깃허브 별 6만 개를 넘겼습니다.

PhotoCraft 화면입니다. 메뉴와 도구 모음, 오른쪽 레이어 창까지 포토샵을 꼭 닮았어요(PhotoCraft 깃허브).
PhotoCraft 화면입니다. 메뉴와 도구 모음, 오른쪽 레이어 창까지 포토샵을 꼭 닮았어요(PhotoCraft 깃허브).

다만 PhotoCraft는 REA로 만든 게 아닙니다. 방향이 오히려 반대예요. 토머스는 어도비 프로그램 안은 들여다보지 않고, 공개된 자료와 프로그램이 움직이는 모습만 보고 새로 짰다고 강조합니다. 이른바 ‘클린룸’ 방식인데, 1980년대 컴팩이 IBM PC와 똑같이 돌아가는 컴퓨터를 만들 때 쓴 방법이기도 해요. 남의 코드는 한 줄도 베끼지 않았다는 걸 보여 주려는 거죠.

아직 포토샵을 대신할 수준은 아닙니다. PhotoCraft 스스로도 ‘초기 알파’ 단계라서 전문가가 매일 일하는 데 쓰기엔 이르다고 밝혀 두었어요. 직접 써 본 해외 매체도 겉모습만 닮았을 뿐, 매일 쓰다 보면 빠진 기능과 버그가 쌓인다고 평가했고요. 토머스도 AI에게 대충 맡긴 초보는 아닙니다. 15년 차 개발자로, PhotoCraft를 짠 프로그래밍 언어 Rust를 10년 정도 써 왔다고 해요. 그래도 30년 넘게 다듬어 온 포토샵을 겉모습이나마 AI와 함께 이만큼 따라왔다는 데 다들 놀란 거죠. 토머스는 지금 워드, 엑셀, 파워포인트를 닮은 앱도 만들고 있어요.

기능을 따라 만들어도 되는 걸까요.

사람들이 열광한 건 결국 소개 문구의 그 한 줄일 겁니다. 마음에 드는 남의 앱 기능을 뜯어보고 내 것으로 만들 수 있다는 것. 그런데 REA 스스로도 선을 긋습니다. 보안 연구, 악성코드 분석, 교육, 호환, 오래된 소프트웨어 보존처럼 합법적인 분석에만 쓰라고 하고, 복제 방지 장치나 라이선스 확인을 우회하는 일, 게임 핵 개발, 남의 코드와 자산을 그대로 베끼는 일은 돕지 않는다고 못 박았어요.

법에도 선이 있습니다. 우리 저작권법은 허락 없는 역분석을 좁게 허용해요. 프로그램을 정당하게 쓰는 사람이 다른 프로그램과 호환하는 데 꼭 필요한 정보를 다른 방법으로 얻기 어려울 때, 필요한 부분에 한해서만요. 그렇게 얻은 정보로 원래 프로그램과 실질적으로 비슷한 프로그램을 만드는 것도 막고 있습니다. “기능을 이해하고 내 버전을 만든다”는 소개 문구가 어디까지 괜찮은지는 나라마다, 경우마다 따져 봐야 하는 셈이죠.

숨겨 둔 건 더 이상 숨겨진 게 아닙니다.

보안 쪽에서도 의미가 큽니다. 지키는 쪽은 악성코드를 더 빨리 분석하고 취약점을 더 빨리 찾을 수 있어요. 반대로 공격하는 쪽도 같은 도구를 쓸 수 있습니다. 앱을 만드는 회사라면 이제 ‘어차피 아무도 못 읽겠지’ 하고 앱 안에 중요한 계산이나 비밀 정보를 넣어 두는 습관부터 버려야 할 것 같아요.

쓰는 사람도 조심할 게 있습니다. REA는 분석할 프로그램을 내 컴퓨터 권한으로 실행하기도 하고, 분석 대상 안에 AI를 속이는 문구가 숨어 있을 수도 있어요. 분석은 내 컴퓨터에서 돌아가도 결과는 AI 회사로 넘어가고요. 인기가 치솟자 REA 이름을 단 코인까지 나왔습니다. 개발자는 코인과 무관하다고 밝히고, 비슷한 이름의 저장소가 아니라 공식 경로로만 받으라고 따로 공지했어요.

앱 하나를 뜯어보는 건 오랫동안 소수 전문가의 일이었습니다. 이제는 말 한마디로 AI에게 시킬 수 있어요. 남이 공들여 만든 것을 어디까지 들여다보고 따라 만들어도 되는지, 그 선을 다시 그어야 할 때가 온 것 같습니다.

https://github.com/morluto/rea