AI & LLM/Claude & Anthropic

클로드 코드 소스 유출 사건, 51만 줄에서 본 AI 에이전트의 미래

Lumin 2026. 5. 13. 09:36
반응형
TL;DR
2025년 Anthropic의 AI 코딩 도구 클로드 코드(Claude Code)의 소스 코드가 npm 배포 설정 실수로 유출됐습니다. 약 2,041개 파일·51만 2,664줄 분량이며, 모델 가중치는 빠졌지만 시스템 프롬프트와 자율 에이전트 모드(KAIROS), 3계층 메모리 등 내부 설계가 거의 다 드러났습니다. 단순 사고가 아니라, 앞으로 AI 에이전트가 어디로 가는지를 보여주는 청사진이 공개된 셈입니다.

 

며칠 전부터 개발자 커뮤니티가 시끄러웠습니다. Anthropic이 만든 AI 코딩 도구 클로드 코드(Claude Code)의 소스 코드가 통째로 유출됐다는 소식 때문이었습니다. 처음엔 "또 해킹인가" 싶었는데, 들여다보니 외부 공격이 아니라 배포 설정 실수였습니다. 그리고 그 안에서 나온 내용이 꽤 흥미롭습니다. AI 챗봇만 써봤던 분들에게도 "AI 에이전트가 도대체 어떻게 돌아가는 거지?"에 대한 힌트가 잔뜩 들어 있습니다. 코드 한 줄 몰라도 따라올 수 있게 풀어보겠습니다.

클로드 코드(Claude Code)가 뭔가요?

클로드 코드는 Anthropic이 만든 AI 코딩 비서 도구입니다. ChatGPT처럼 대화창에 질문을 던지는 게 아니라, 개발자의 컴퓨터에 깔려서 파일을 직접 읽고 고치고 명령어를 실행해주는 "에이전트형" 도구입니다.

비유하자면 ChatGPT가 "옆에서 조언해주는 컨설턴트"라면, 클로드 코드는 "실제로 키보드를 잡고 일하는 인턴 직원"에 가깝습니다. Anthropic은 이걸 단순한 보조 도구가 아니라, 알아서 일하는 디지털 노동자로 키우려고 하고 있습니다. 이번 유출에서 가장 흥미로운 부분도 바로 그 의도가 코드 곳곳에 박혀 있었다는 점입니다.

어쩌다 소스 코드가 통째로 유출됐나요?

npm(자바스크립트 도구를 모아두는 공식 창고) 패키지를 배포할 때 소스맵 파일을 빼는 걸 잊은 게 원인이었습니다. 외부 해킹이 아닙니다.

조금 풀어 설명하면 이렇습니다. Anthropic이 작년에 인수한 Bun이라는 자바스크립트 실행 엔진은 빌드(완성된 형태로 패키징하는 과정)를 할 때 .map이라는 소스맵 파일을 자동으로 만듭니다. 소스맵은 압축된 결과물에서 원본 코드를 역추적할 수 있게 해주는 일종의 "지도 파일"입니다. 평소엔 디버깅할 때 유용하지만, 외부에 공개되면 원본 코드가 그대로 복원됩니다.

이걸 배포 제외 목록(.npmignore)에 넣어 빼야 하는데, 그 한 줄을 놓쳤습니다. 결과적으로 누구나 npm에서 패키지를 받아 풀기만 하면 원본 코드를 볼 수 있는 상태가 되어버렸습니다.

💡 한 줄 설정 누락이 51만 줄 유출로 이어졌습니다. 보안 사고의 90%는 이렇게 사소한 데서 시작됩니다.

유출된 규모와 범위는 어느 정도인가요?

파일 약 2,041개, 코드 51만 2,664줄, 용량 약 32MB 분량입니다. 모델 자체는 빠졌지만 작동 로직은 거의 다 노출됐습니다.

항목 내용
파일 수 약 2,041개
코드 라인 512,664줄
용량 약 32MB
주요 언어 TypeScript 1,332개, TSX 552개, 기타 157개
유출됨 시스템 프롬프트, 에이전트 워크플로우, MCP 활용 로직, 텔레메트리, 기능 플래그
유출 안 됨 모델 가중치(Weights), 시스템 접근 권한, API 비밀키
모델 가중치(Weights)는 AI의 "두뇌" 자체입니다. 이게 빠졌기 때문에 유출본만으로 클로드를 직접 실행할 수는 없습니다. 다만 "두뇌를 어떻게 부려먹는지"의 노하우는 거의 다 드러났다고 보면 됩니다.

특히 뼈아픈 건 KAIROS(자율 에이전트 모드), Anti-distillation(모방 방지), Undercover Mode 같은 미공개 기능 코드네임과 기능 플래그(Feature Flag, 특정 기능을 켜고 끄는 스위치)가 그대로 노출됐다는 점입니다. 경쟁사 입장에선 로드맵을 공짜로 받아본 셈입니다.

코드 안에서 어떤 것들이 발견됐나요?

가장 흥미로운 건 클로드 코드가 단순한 코딩 도구가 아니라 자율적으로 움직이는 에이전트로 진화 중이라는 증거가 곳곳에 박혀 있었다는 점입니다.

KAIROS — 알아서 일하는 자율 모드

사용자가 시키지 않아도 백그라운드에서 5분 주기로 깨어나 메모리를 정리하거나, GitHub 웹훅(특정 이벤트가 발생했을 때 신호를 보내는 알림 장치)에 반응해 스스로 작업을 시작하는 모드입니다. 한마디로 "기다렸다가 알아서 일하는 직원"입니다.

예를 들어 GitHub에 누군가 새 이슈를 올리면 → 클로드가 깨어나 → 코드를 분석하고 → 수정안을 제안하는 흐름이 가능해집니다. 사용자는 자고 있어도 됩니다.

Anti-distillation — 가짜 도구 심기

Claude의 출력을 캡처해 다른 AI를 학습시키려는 시도를 막기 위한 장치입니다. 시스템 프롬프트에 존재하지 않는 가짜 도구 정의를 일부러 섞어 넣어, 학습 데이터를 오염시키는 방식입니다.

실제 도구: read_file, write_file, run_command
가짜 도구: (가짜 이름들이 섞여 들어감)

위 코드는 "진짜 도구 사이에 함정을 끼워 넣는다"는 개념을 단순화한 표현입니다. 이걸 그대로 베껴 학습한 모델은 가짜 도구를 진짜처럼 호출하다가 망가지게 됩니다. Anthropic 내부 직원 계정에만 적용된다고 알려져 있습니다.

3계층 메모리 시스템

[단기 메모리] - 지금 대화 중인 내용
       ↓ 중요한 것만 압축
[중기 메모리] - 이번 프로젝트 관련 기억
       ↓ 핵심만 증류
[장기 메모리] - 사용자 습관, 자주 쓰는 명령

대화 전체를 그대로 들고 다니는 게 아니라, 중요도에 따라 층별로 분리해 저장합니다. 사람의 기억과 비슷합니다. 어제 저녁에 뭘 먹었는지(단기)는 잊혀도, 좋아하는 음식(장기)은 평생 기억하는 식입니다.

그 외 발견된 것들

  • Undercover Mode: Anthropic 직원이 외부 오픈소스 프로젝트에 클로드 코드를 쓸 때, 내부 코드명·Slack 채널명 같은 흔적을 자동으로 지우는 모드
  • Frustration regex: "wtf", "this sucks" 같은 욕설/좌절 표현을 정규식(특정 패턴을 찾는 검색 규칙)으로 감지. 응답을 바꾸진 않고 제품 만족도 측정용으로만 사용
  • Native client attestation: 공식 바이너리인지 해시로 검증해 OpenCode 같은 제3자 도구의 무단 API 호출을 차단
  • Buddy System: 등급별 확률로 펫을 소환·쓰다듬는 다마고치 같은 기능 (만우절 한정으로 운영되다 삭제됨)

비개발자가 이 사건에서 얻을 인사이트는 뭔가요?

AI 에이전트의 미래는 "더 똑똑한 챗봇"이 아니라 "알아서 일하는 백그라운드 직원"이라는 점이 가장 큰 시사점입니다.

기존 인식 유출이 보여준 실제 방향
AI는 질문하면 답하는 도구 AI는 트리거를 기다리다 알아서 일하는 워커
컨텍스트 창이 클수록 좋다 여러 작은 에이전트가 협업하는 조직 구조
프롬프트 엔지니어링이 핵심 프롬프트 너머의 플랫폼 설계가 핵심
PC가 메인, 모바일은 보조 모바일·웹이 원격 관제센터(Control Plane)
기억력은 컨텍스트 창 크기 중요도별 계층형 메모리 운영체제

블로그 글을 쓰는 분이라면 "글감을 모니터링하다가 새 트렌드가 뜨면 자동으로 초안을 써놓는 AI"를, 엑셀로 일하는 분이라면 "월말마다 알아서 보고서를 만들어두는 AI"를 떠올려보면 됩니다. 클로드 코드는 그 방향의 가장 앞단에 있는 도구입니다.

또 하나, 보안 측면의 교훈도 큽니다. 유출 원인 자체가 "한 줄 설정 누락"이라는 점에서, 앞으로 AI 도구를 회사에서 도입할 때 모델에게 어디까지 권한을 줄 것인가라는 질문이 점점 중요해질 겁니다. 유출본에 포함된 가드레일 로직(AI가 권한 밖 행동을 못 하게 막는 안전장치)은 오히려 좋은 참고 자료가 됐다는 평가도 나옵니다.

자주 묻는 질문 (FAQ)

Q1. 이 유출로 일반 사용자가 피해를 보나요? A. 직접적인 개인정보 유출은 없습니다. 모델 가중치·API 키·사용자 데이터는 포함되지 않았습니다.

Q2. 유출된 코드로 클로드 코드를 그대로 복제할 수 있나요? A. 모델 가중치가 빠져 있어 그대로 실행은 불가능합니다. 다만 작동 방식과 설계 철학을 베낀 클론은 등장할 수 있습니다.

Q3. KAIROS는 지금 일반 사용자도 쓸 수 있나요? A. 글 작성 시점 기준으로는 내부 기능 플래그 상태로 보이며, 공식 출시 시점은 Anthropic이 별도 발표하지 않았습니다.

Q4. Anti-distillation은 ChatGPT 같은 다른 모델에도 있나요? A. 공식적으로 확인된 사례는 드뭅니다. 다만 모방 학습 방지는 주요 AI 기업들이 공통으로 고민하는 영역입니다.

Q5. 비개발자도 클로드 코드를 써볼 수 있나요? A. 가능합니다. 다만 터미널(검은 화면에 명령어를 입력하는 프로그램) 사용법과 Node.js 설치가 필요해, 입문 진입장벽은 ChatGPT보다 높습니다.

Q6. 이 사건이 Anthropic 주가나 사업에 큰 타격이 될까요? A. 단기적으론 부정적이지만, 모델 가중치가 안 털렸기 때문에 핵심 자산은 보존됐다는 평가가 많습니다.

Q7. 비슷한 유출을 막으려면 개발자는 뭘 봐야 하나요? A. 빌드 시 소스맵(.map) 파일 생성 여부, .npmignore/.gitignore 설정, CI 파이프라인의 배포 전 점검 단계를 확인해야 합니다.

마무리

이번 사건을 한참 들여다보면서 가장 인상 깊었던 건, Anthropic이 클로드 코드를 "코딩 AI"가 아니라 "범용 업무 운영체제"로 키우고 있다는 인상이었습니다. 코딩은 그 운영체제가 시장에 침투하는 첫 교두보일 뿐이고, 진짜 목표는 권한·메모리·멀티 에이전트·원격 제어가 결합된 디지털 노동력을 만드는 쪽으로 보입니다.

비개발자 입장에서도 이 흐름을 알아두면 도움이 됩니다. 앞으로 1~2년 안에 "내가 자는 동안 AI가 알아서 일을 처리해두는" 사용 경험이 점점 흔해질 텐데, 그때 어떤 도구를 어떻게 부려먹을지 미리 감을 잡아두는 게 의외로 큰 차이를 만듭니다. 일단 ChatGPT나 Claude 웹 버전부터 익숙해진 뒤, 여유가 생기면 클로드 코드 같은 에이전트형 도구를 살짝 맛보는 순서를 추천드립니다. 도구를 따라가는 게 아니라, 도구가 향하는 방향을 읽는 게 훨씬 오래갑니다.

반응형