[안광섭 AI 진테제] 별 28만 개, 깃허브 뒤흔든 'REA' 정체
2026년 10월, 깃허브에서 낯선 일이 벌어졌다. 'REA'라는 이름의 저장소가 열흘 남짓한 기간에 별(스타) 20만 개 이상을 모았다. 2026년 4월 14일 만들어진 뒤 반년 가까이 조용하던 프로젝트였다. 10월 6일까지 1만 개에 못 미치던 별이 10월 12일 10만 개를 넘었고, 필자가 확인한 10월 16일에는 약 28만 개, 복사본(포크)은 약 7만 개였다. AI 해설 영상으로 알려진 유튜버 매슈 버먼은 엑스(X)에 "소프트웨어는 끝났다"고 썼다. 과장이다. 무엇이 끝났고 무엇이 남는지는 따져 볼 가치가 있다. REA는 분석 도구를 AI에 연결하는 장치 REA는 '무엇이든 역설계한다(Reverse Engineer Anything)'의 약자다. 역설계, 즉 리버스 엔지니어링은 완성된 프로그램을 거꾸로 분석해 소스 코드 없이 작동 규칙을 알아내는 일이다. 완성돼 배포된 프로그램에는 개발자가 붙인 이름과 설명이 남지 않는다. 사람이 읽는 설계도(소스 코드)가 기계가 읽는 명령어로 바뀌어 있기 때문이다. 그래서 지금까지는 기드라(Ghidra)나 IDA 같은 전문 분석 도구로 그 명령어를 읽을 수 있는 형태로 되돌리고, 사람이 하나하나 의미를 다시 붙이는 노동이 필요했다. REA는 그 도구들을 대체하지 않는다. 기존 분석 도구를 AI 코딩 에이전트에 연결하는 중간층이다. 클로드 코드, 코덱스, 커서 같은 에이전트가 "이 앱의 검색 기능이 어떻게 작동하는지 알아내고, 근거를 보여 주고, 내 프로젝트에 비슷한 기능을 만들어 줘"라는 요청을 받으면, REA가 뒤에서 분석 도구를 돌려, 읽을 수 있는 형태로 되돌린 코드, 그리고 프로그램의 어느 부분이 어느 부분을 부르는지를 근거와 함께 돌려준다. 에이전트는 그 결과로 설명을 쓰고, 코드를 짜고, 테스트까지 한다. 대상은 실행 파일만이 아니다. 노션 데스크톱 앱 같은 PC용 프로그램, 안드로이드 앱, 웹사이트, 저장해 둔 통신 기록까지 다룬다. 설치는 명령 한 줄이다. 역설계 자체는 새롭지 않다. 바뀐 것은 노동 비용이다. 분석하는 손과 다시 만드는 손이 같은 에이전트다. 역설계가 드러내는 것은 규칙이지 비밀이 아냐 REA 공식 사례 중 하나는 안드로이드 인증 앱 에이지스(Aegis)다. 6자리 로그인 코드가 왜 30초마다 바뀌는지 알아내라는 요청에 REA는 앱 설치 파일 안의 코드 묶음 3077개를 뒤져 로그인 코드를 만드는 부분을 찾아냈다. 복원된 규칙은 이렇다. 현재 시각을 30초 단위 블록 번호로 바꾸고, 그 번호를 계정 키와 함께 되돌릴 수 없게 섞는 계산(해시)에 넣은 뒤, 결과에서 숫자 여섯 자리를 뽑는다. 에이전트가 다시 짠 코드는 테스트 133건과 공개 표준 문서에 실린 정답 값과 일치했다. 2026년 10월 9일 REA 6.1.0으로 수행된 작업이다. 이 사례에서 두 가지를 봐야 한다. 첫째, 복원된 것은 규칙이고 그 규칙은 애초에 인터넷 표준 문서(RFC 6238)에 공개돼 있었다. 에이지스는 오픈소스라 원본과 대조도 가능했다. 둘째, 계정 키는 복원되지 않았다. 같은 시각이라도 키가 다르면 코드가 다르다. 역설계가 드러내는 것은 숨겨 둔 로직이지 비밀 자체가 아니다. 비밀키처럼 수학으로 지키는 것은 그대로 지켜지고, 코드를 복잡하게 꼬아 숨기는 방식으로 지키던 것은 드러난다. 보안 분야에서는 오래전부터 숨김에 의한 보안(security by obscurity)은 보안이 아니라고 말해 왔다. 그동안 버틴 것은 숨김을 벗기는 데 사람의 시간이 들었기 때문이다. 클라이언트 쪽 보안 프로그램에 많이 의존해 온 국내 금융·공공 서비스에는 더 민감한 질문이다. 사용자 PC에 설치되는 프로그램이 무엇을 검사하고 어떤 값을 서버로 보내는지는 기기에 도착한 순간부터 읽힐 수 있는 대상이었고, 이제 그 읽기에 드는 시간이 줄었다. 브라우저 유즈, 에이전트가 사람의 자리에서 클릭 두 번째 도구는 다른 방향에서 온다. 브라우저 유즈(browser use)는 AI 에이전트가 사람처럼 브라우저를 열어 페이지를 읽고, 클릭하고, 입력하는 방식을 가리키는 말이다. 2024년 10월 앤트로픽이 '컴퓨터 유즈'라는 이름으로 화면을 보고 마우스를 움직이는 기능을 공개한 뒤, 브라우저에 에이전트를 넣은 제품이 2025년에 잇따라 나왔다. 퍼플렉시티의 코멧, 앤트로픽의 클로드 포 크롬(2025년 8월 26일 시험판), 오픈AI의 챗GPT 아틀라스(2025년 10월 21일 출시)가 그것이다. 아틀라스는 2026년 8월 9일 서비스를 종료하고 기능을 챗GPT 앱과 크롬 확장 프로그램으로 옮겼다. 별도 브라우저를 새로 깔게 하는 쪽보다 사람이 이미 쓰는 브라우저 안으로 들어가는 쪽이 남은 셈이다. 에이전트가 페이지를 보는 방법은 크게 둘이다. 화면을 캡처해 이미지로 읽거나, 페이지를 이루는 버튼·입력창·글 상자의 목록을 글자로 바꿔 '버튼 3번, 입력창 7번'처럼 번호를 붙여 읽는다. 텐센트가 2026년 공개한 브라우저스킬(BrowserSkill)은 여기서 한 걸음 더 나간다. 에이전트에게 새 브라우저를 주는 대신, 사용자가 이미 로그인해 둔 크롬·엣지 브라우저를 빌려준다. 에이전트가 명령어(bsk)를 부르면, 컴퓨터 안의 중계 프로그램이 그 요청을 브라우저 확장 프로그램에 넘기고, 확장 프로그램이 별도의 '에이전트 창'에서 작업한다. 사용자는 자기 창에서 계속 일한다. 로그인 상태를 그대로 쓰니 테스트 계정 없이 사내 시스템에도 바로 들어간다. 깃허브 별은 약 9000개(2026년 10월 16일 기준)로 REA만큼 요란하지 않지만, 두 가지가 눈에 띈다. 하나는 '웹사이트 디버깅' 기능이다. 클릭 한 번에 어떤 요청이 서버로 나가고 어떤 응답이 돌아오는지, 브라우저 안에 어떤 오류 기록이 남는지를 증거 파일로 남긴다. 다른 하나는 설명서가 직접 적어 둔 경고다. 에이전트 창은 "별도의 계정도, 보안 샌드박스도 아니다." 에이전트는 로그인된 사이트의 권한 그대로 행동한다. 둘이 합쳐지면 무엇이 복제되는가 필자도 두 도구를 모두 쓰고 있다. 두 도구가 함께 등장하면서 대부분의 서비스를 따라 만들거나 무력화하는 일이 가능해졌다는 것이 필자의 판단이다. 다만 범위를 정확히 해야 한다. 한 서비스의 겉은 사용자 기기에 전부 도착한다. 화면, 버튼을 눌렀을 때의 동작, 서버로 보내는 요청의 형식, 돌아오는 응답의 모양이 그렇다. 브라우저의 개발자 도구를 열면 전부터 볼 수 있었다. 다만 사람의 시간이 들었다. 이제 브라우저 에이전트가 서비스를 실제로 써 보며 어떤 요청이 오가는지 기록하고, REA가 기기에 내려온 코드에서 규칙을 읽어내고, 같은 에이전트가 그 둘을 합쳐 구현하고 테스트한다. 관찰, 복원, 재구현이 한 순환 안에서 돈다. 따라 만드는 일에서 사람 손이 거의 빠졌다는 뜻이다. 그러나 기기에 도착하지 않는 것은 읽을 수 없다. 서버에서 돌아가는 로직, 그 서비스가 쌓아 온 데이터, 사용자 사이의 연결, 운영 경험이 그렇다. 복제되는 것과 복제되지 않는 것의 경계는 '우리 코드가 어디에서 실행되는가'로 그어진다. 직접 써보면 느껴지는 한계 사실 REA나, 브라우저 유즈나 일을 시켜보면 무척 편리하다 필자도 최근 타 방송에서 브라우저 유즈로 세금신고 및 정부 행정 처리 등을 자동화 하는 것을 선보인 적이 있다. 그리고 이런 것을 보면 마치 새로운 기술 '같아 보인다.' 하지만 정확히 말하면 이건 어디까지나 껍데기이다. REA도 브라우저유즈도 프론트엔드 즉, 겉으로 드러난 부분이나 프론트엔드에서 서버로 무엇을 보내는지 등을 보고 유추해서 역설계를 하거나 화면의 UI를 보고 행동을 하는 것이다. 만약 쉽게 베껴지거나 파훼되고 있다면 그정도 보안이였던 것이고 그정도로 옅게 설계가 되어 있었던 것이기도 하다. 해자는 기기 밖에 있어 필자는 노션의 한국 출시와 초기 커뮤니티를 맡았던 적이 있다. 깃허브에서 '노션 클론'을 검색하면 수년 전부터 만들어진 프로젝트가 줄줄이 나온다.(Notion-like 등) 그중 노션의 자리를 가져간 것은 없다. 사용자는 기능 목록 밖에서 제품에 의미를 붙인다. 함께 쓰는 사람, 쌓인 문서, 템플릿을 나누는 커뮤니티가 그 의미를 만든다. REA 공식 사례에도 노션 데스크톱 앱이 있는데, 거기서 복원한 것은 복사한 내용이 화면에서 프로그램 내부를 거쳐 클립보드까지 가는 경로다. 그 경로를 안다고 노션이 되지는 않는다. 따라 만들 수 있다는 것과 따라 만들어도 된다는 것도 다른 문제다. 저작권법 제101조의4는 정당한 권한으로 프로그램을 이용하는 사람이 호환에 필요한 정보를 쉽게 얻을 수 없고 그 획득이 불가피할 때, 호환에 필요한 부분에 한정해 역분석을 허용한다. 그렇게 얻은 정보를 호환 외의 목적에 쓰거나, 표현이 실질적으로 유사한 프로그램을 개발·판매하는 데 쓰는 것은 금지한다. REA의 면책 문구도 합법적 연구·교육·호환·보존과 자신이 소유하거나 분석 권한이 있는 소프트웨어로 용도를 한정한다. 도구가 쉬워졌다고 선이 옮겨진 것은 아니다. 정리하면 이렇다. 사용자 기기에 도착하는 것은 이제 공개된 것으로 봐야 한다. 거기에 숨겨 둔 로직, 프로그램 안에 박아 둔 비밀 키, 사용자 쪽 프로그램에서만 하는 검사는 더 이상 지켜지지 않는다고 가정하는 편이 안전하다. 반대로 서버에서 매번 다시 검사하는 권한, 축적된 데이터, 사용자 사이의 관계는 역설계로 복원되지 않는다. 서비스를 만드는 쪽이 스스로에게 던질 질문은 두 가지다. 우리가 숨겨서 지키고 있는 것은 무엇인가. 그리고 우리 제품에서 사용자 기기에 도착하지 않는 것은 무엇인가. 앞의 답은 이미 읽히고 있다고 보는 편이 맞고, 뒤의 답이 남아 있는 해자다.