AI VIDEO BRIEFING

클로드 코드 소스코드 500만 줄 유출 사건 정리: 소스맵 파일과 드러난 숨은 기능들

npm 배포 패키지에 소스맵 파일이 함께 올라가면서 클로드 코드의 타입스크립트 원본 500만 줄이 복원됐다. 어떻게 새어 나갔고, 내부 구조와 숨은 기능으로는 무엇이 드러났는지 하나씩 차근히 짚어 본다.

클로드 코드 소스코드 500만 줄 유출: 파일 하나가 열어젖힌 내부 영상 대표 이미지

핵심 메시지

  • 클로드 코드의 소스코드 약 500만 줄이 복원돼 공개됐고, 그 원인은 npm 배포 패키지에 소스맵 파일이 함께 올라간 것이었다.
  • 코드 자체는 늘 npm에 있었지만 압축·난독화된 상태였고, 소스맵이 있으면 원래 타입스크립트 형태로 되돌릴 수 있다.
  • 앤트로픽이 인수한 압축 도구의 버그가 의심받았지만 개발자 측은 그것이 아니라 직원의 실수였다고 밝혔다.
  • 드러난 구조는 단순하다. 이전 대화와 시스템 프롬프트를 묶어 API에 보내고, 응답에 도구 호출이 있으면 실행한 뒤 결과를 다시 보내는 반복이다.
  • 터미널 화면을 리액트로 렌더링한 뒤 문자로 변환하는 구조 때문에 비슷한 프로그램들보다 메모리를 많이 쓴다는 지적도 나왔다.

쉽게 이해하기

클로드 코드의 소스코드가 통째로 읽을 수 있는 상태로 공개됐다. 깃허브의 공식 저장소는 사실상 껍데기만 있는 곳이고, 실제 프로그램은 npm에 올라가 있는데 특정 버전 업데이트에서 소스맵 파일이 함께 배포된 것이 발단이었다. 이 파일이 있으면 압축·난독화된 코드를 원래 타입스크립트로 되돌릴 수 있어, 사람들이 내려받아 각자 저장소에 올리기 시작했다.

원인을 두고는 앤트로픽이 인수한 자바스크립트 압축 도구가 소스맵을 프로덕션까지 흘려보내는 버그가 있었던 탓이라는 추측이 있었지만, 개발자 측은 그 때문이 아니라 직원의 실수였다고 설명했다. 배포 대상에서 소스맵을 빼도록 설정해 두는 것을 빠뜨린 것으로 보인다는 이야기다.

500만 줄을 분석한 사이트가 하루 만에 등장했을 만큼 반응은 빨랐다. 정작 전체 구조는 화려하지 않았다. 사용자가 입력하면 이전 대화 내역과 시스템 프롬프트를 한데 묶어 모델에 요청을 보내고, 응답에 도구 호출 지시가 있으면 검색이나 터미널 실행 같은 도구를 돌린 뒤 그 결과를 다시 모델에 넘기는 과정을 최종 답이 나올 때까지 반복한다. 도구 목록에는 하위 에이전트를 띄우고 메시지를 주고받는 것도 포함돼 있었다.

겉으로 드러나지 않던 기능들도 확인됐다. 모델에서 데이터를 몰래 빼내려는 시도를 감지하면 가짜 도구 응답을 보내 데이터를 오염시키는 방어 장치, 사용자의 욕설을 정규식으로 감시하는 코드, 낮은 확률로 특별판이 나오는 캐릭터 뽑기, 스마트폰과 웹으로 조작하는 기능, 대화를 분석해 중요한 내용을 자동으로 메모리에 남기는 기능, 그리고 지시 없이도 할 일을 스스로 찾아 움직이는 모드까지 있었다.

성능 논란도 다시 불거졌다. 터미널에서 도는 프로그램인데 화면 요소를 리액트로 먼저 렌더링한 뒤 터미널 제어 문자로 바꿔 출력하는 구조라, 웹용으로 만들어진 리액트의 부담을 그대로 안는다. 영상은 비슷한 도구들과 메모리 점유율을 비교하면 유독 튀는 이유가 여기 있다고 본다.

주요 인사이트

  • 이번 일은 해킹이 아니라 배포 설정 실수다. 압축·난독화는 보안 장치가 아니며, 소스맵 한 파일이 함께 나가면 원본이 그대로 복원된다는 사실을 자바스크립트 생태계 전반에 상기시킨 사건이다.
  • 가장 성공한 코딩 에이전트의 내부가 결국 '맥락을 묶어 보내고, 도구를 돌리고, 결과를 다시 넣는 반복'이었다는 점은 시사적이다. 차별점은 구조의 복잡함이 아니라 도구 설계와 완성도 쪽에 있다.
  • 유출 코드를 두고 저작권 논쟁이 붙었지만, 영상은 AI에 원본을 재작성시키면 라이선스 문제를 우회할 수 있는 현실을 함께 짚는다. 코드를 감추는 방식의 보호가 점점 무의미해지고 있다는 이야기다.
  • 터미널 앱에 웹 프레임워크를 얹은 선택이 개발 속도에는 도움이 됐겠지만 자원 사용에는 대가를 남겼다. 도구 선택이 사용자 체감으로 돌아온 사례로 볼 만하다.

자주 묻는 질문

소스코드는 어떻게 유출됐나요?

해킹이 아니라 배포 실수입니다. npm에 올리는 패키지에 소스맵 파일이 함께 포함되면서, 압축·난독화된 코드를 원래 타입스크립트로 복원할 수 있게 됐습니다.

클로드 코드의 내부 구조는 어떻게 돼 있나요?

사용자 입력에 이전 대화 내역과 시스템 프롬프트를 합쳐 모델에 요청을 보내고, 응답에 도구 호출이 있으면 검색이나 터미널 명령 같은 도구를 실행한 뒤 결과를 다시 모델에 전달합니다. 최종 답이 나올 때까지 이 과정을 반복합니다.

메모리를 많이 쓴다는 지적은 왜 나왔나요?

터미널 프로그램인데도 화면 요소를 리액트로 렌더링한 뒤 터미널 문자로 변환해 출력하는 구조이기 때문입니다. 웹용 프레임워크의 연산 부담을 그대로 떠안게 되어, 비슷한 프로그램들과 비교하면 메모리 점유율이 두드러집니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식