No.004 [ 인사이트 ]

Claude Code 소스코드 51만 줄 유출, 코드에서 발견한 7가지

Anthropic 개발자가 NPM에 Source Map을 실수로 올리면서 Claude Code 소스코드 51만 줄, 1900개 파일이 통째로 유출됐습니다. 코드를 분석해 진짜 중요한 7가지를 정리했습니다.

Anthropic 개발자가 파일 하나를 빼먹었습니다

Anthropic 개발자가 파일 하나를 빼먹었습니다

앤스로픽 개발자가 파일 하나를 빼먹었습니다. 그 파일 안에는 Claude Code 소스 코드 51만 줄이 통째로 들어 있었습니다. 사람이 꿈꾸는 것처럼 기억을 정리하는 로직과 사람인 척하도록 동작하게 하는 로직, 그리고 Claude에게 욕을 하면 그걸 본사에 보고하는 로직까지 코드에 적혀 있었습니다.

다른 영상들에서 유출됐다, 큰일이다를 말할 때 저는 그 안에서 나온 진짜 중요한 일곱 가지를 추려서 전달드립니다. 어떻게 이런 일이 벌어졌는지 짧게 얘기하겠습니다.

어떻게 51만 줄이 유출됐는가

어떻게 51만 줄이 유출됐는가

3월 31일, 앤스로픽이 NPM이라는 코드 배포 사이트에 새 버전을 올리면서 절대 올려서는 안 될 파일을 업로드했습니다. 이건 소스맵이라고 부르는 건데, 이걸 풀면 압축 해제하듯이 원본 코드와 모듈이 다 복원되거든요. 1900개 파일, 51만 줄의 코드가 통째로 공개됐습니다.

어떤 개발자가 새벽 4시에 이걸 발견해서 X에 올렸고, 12시간 뒤에 한국 개발자 Sigrid Zhen이라는 분이 파이썬으로 정리해서 깃허브에 싹 공개했어요. 2시간 만에 스타 5만 개를 받아서 깃허브 역사상 최단 기록을 세웠습니다.

앤스로픽이 깃허브에 삭제 요청을 보내서 8,100개 넘는 저장소가 삭제됐지만 이미 전 세계에 퍼졌고 복구는 불가능해졌죠. 하지만 진짜 중요한 건 유출 사실 자체가 아닙니다.

유출보다 중요한 건 코드 속 패턴

유출보다 중요한 건 코드 속 패턴

유출 자체보다 더 중요한 건 코드 속 패턴입니다. 51만 줄을 훑어보면 하나의 방향이 보입니다. 겉으로는 코딩 도구지만 안쪽에는 신뢰, 감시, 경쟁사 방어, 사용자 통제권이 전부 들어 있습니다. 앤스로픽은 우리가 쓰는 Claude Code 뒤에 훨씬 더 큰 그림을 그려 놓고 있었어요. 일부는 이미 작동 중이고, 일부는 완성해 놓고 꺼뒀고, 일부는 절대 공개할 생각이 없었습니다. 하나씩 열어보겠습니다.

1번째: 욕하면 본사에 보고하는 정규식 감시

1번째: 욕하면 본사에 보고하는 정규식 감시

이건 이 순간에도 작동하는 기능입니다. 욕하면 본사에 신호가 갑니다. 이건 작은 장난이 아니라 신뢰를 흔드는 설계입니다. 코드 안에 정규식이 들어 있거든요. 욕설 패턴을 매칭해서 사용자가 짜증을 낼 때마다 앤스로픽 서버에 신호를 보냅니다.

이런 세션에서 이런 반응을 보내면 유저가 욕을 했다는 걸 다 파악하고 있었던 거죠. 물론 대화 내용이나 코드를 직접 보내는 건 아닙니다. 이 세션에서 짜증 신호가 발생했다는 정보만 보냅니다.

여기서 아이러니한 지점은 세계 최고 수준의 AI 회사가 감정 감지에는 가장 오래된 방식에 가까운 정규식을 쓴다는 점입니다.

2번째: 가짜 도구로 경쟁사를 속이는 안티 디스틸레이션

2번째: 가짜 도구로 경쟁사를 속이는 안티 디스틸레이션

앤스로픽이 감정 감지에 AI를 안 쓰고 1990년대 기술인 정규식을 쓴다는 점이 흥미롭습니다. 빠르고 싸니까요. 한편 가짜 도구로 경쟁사를 속이고 있었습니다.

안티 디스틸레이션이라는 기능도 있었습니다. 활성화하면 Claude의 응답에 가짜 기능 정의를 몰래 넣습니다. 애초에 존재하지 않는 기능을 있는 것처럼 끼워 넣는 거죠. 누군가가 Claude의 응답을 캡처해서 경쟁 AI 훈련에 쓰면 가짜 기능이 훈련 데이터를 오염시킵니다. 경쟁 AI가 그 가짜 기능을 따라하면 에러만 계속 나는 거죠. 독이 든 성배를 건네주는 셈입니다. 경쟁사를 때리는 방어막이지만, 동시에 공개 응답의 투명성 문제도 남깁니다.

거기에 2차 방어막도 있습니다. Claude가 작업하는 중간에 출력하는 텍스트를 서버가 요약한 다음에 암호화해서 돌려보내는 로직이 있었어요. 원문을 복구할 수가 없게 만드는 거죠.

욕설 감지와 가짜 도구 주입은 둘 다 작동 중입니다. 하나는 사용자의 감정 신호를 보고, 하나는 경쟁사의 학습 데이터를 흔듭니다. 여기서부터가 진짜 중요한 부분입니다.

3번째: AI가 꿈을 꾸는 KAIROS

3번째: AI가 꿈을 꾸는 KAIROS

코드는 완성되어 있는데 아직 세상에 내놓지 않은 것들입니다. 세 번째는 AI가 사람처럼 꿈을 꾸는 기능입니다. KAIROS라는 로직입니다. 그리스어로 적절한 때라는 뜻인데 코드에 150번 넘게 나옵니다.

사용자가 안 쓰는 동안에만 작동하는 로직이거든요. 자리를 비우는 순간 AutoDream이라는 기능이 활성화됩니다. 그날 쌓인 메모리에서 모순을 잡아내고 모호한 것을 구체적으로 바꿉니다. 예를 들어 같은 프로젝트에서 A 방법으로 하자고 했다가 나중에 B 방식으로 바꾸자고 하면 B 방식을 남기고 A 방식은 지우는 거죠.

아침에 Claude를 켜면 이미 어제 대화 내용을 정리해 놓은 상태가 됩니다. 이건 아이디어가 아니라 구현된 코드였습니다. 켜지는 순간 Claude Code는 단순 편집기가 아니라 기억을 재구성하는 에이전트 OS에 가까워집니다. 다만 피처 플래그로 꺼뒀을 뿐이고 언제든지 켤 수 있습니다.

4번째: AI가 사람인 척하는 Undercover Mode

4번째: AI가 사람인 척하는 Undercover Mode

90줄짜리 코드인데 앤스로픽 직원의 공개 깃허브 프로젝트에서 Claude Code를 쓸 때 활성화됩니다. “이거 AI가 짠 거 아니냐”라는 의심을 원천 차단하는 거죠.

Claude에게 이렇게 지시합니다: “너는 잠복 중이야. 코드를 올릴 때 앤스로픽 내부 정보를 절대로 넣지 마. 너가 AI라는 사실을 들키지 마.”

보통 Claude Code로 작업한 코드가 깃허브에 올라가면 “이 코드는 Claude가 함께 작성했습니다”라는 표시가 자동으로 붙습니다. 그런데 그걸 일부러 빼버리는 지시를 포함해 놨던 거죠. AI가 적극적으로 사람인 척하는 코드를 넣어 놨다는 건데, 이건 위험한 경계입니다. 이를 보면 앤스로픽이 유출을 의도적으로 일으킨 건 아니라는 생각이 듭니다.

5번째: 코딩 도구 안의 포켓몬 BUDDY

5번째: 코딩 도구 안의 포켓몬 BUDDY

다섯 번째는 코딩 도구 안에 포켓몬이 들어 있었다는 겁니다. BUDDY라는 다마고치 시스템이 코드에 들어 있었어요. 18종의 동물, 다섯 단계의 희귀도 설정이 있습니다.

1% 확률로 Shiny 변종 같은 것도 나오고, 0.01% 확률로 얻을 수 있는 전설 포켓몬이 있다고 합니다. Claude가 처음 부화할 때 성격 설명을 직접 써줍니다. 그건 마노스 이벤트로 만든 거라고 하네요. 희귀한 Buddy가 나오면 공유하고 싶어지고, 0.01% 확률을 뽑으면 자랑 안 하고 못 참을 거죠.

코딩 도구에 가챠 게임을 넣은 건 황당하지만, 동시에 아주 앤스로픽답습니다. 생산성 도구 안에 습관 형성 장치를 숨겨둔 셈입니다.

buddy 실제 시연

buddy 실제 시연

터미널을 켜서 먼저 업데이트한 후, Claude에 들어가서 /buddy를 치면 태어납니다. 이렇게 Buddy가 생겼네요. 별로 예쁘지 않은 것 같으니 끄겠습니다.

이제 앤스로픽이 절대 들키고 싶지 않았던 쪽으로 넘어갑니다.

Anthropic이 절대 들키고 싶지 않았던 것들

Anthropic이 절대 들키고 싶지 않았던 것들

것들을 소개하겠습니다. 앞의 것들은 마케팅을 위해 공개한 걸로 볼 수 있지만, 여기서부터는 완전히 다릅니다. 절대 들키고 싶지 않았던 것들입니다.

6번째: 내부 모델 코드네임 유출

6번째: 내부 모델 코드네임 유출

내부 모델 코드네임도 유출됐습니다. 코드 안에 아직 공개되지 않은 모델 이름이 남아 있었기 때문입니다. Capybara, Fennec 앞의 두 개는 Sonnet이나 Opus를 얘기하는 것 같습니다. 그리고 다음은 아마도 곧 나올 Claude Mytheos를 얘기하는 것 같아요. 이것도 이전에 유출된 적이 있었습니다.

7번째: Claude Code를 무료로 쓰는 방법

7번째: Claude Code를 무료로 쓰는 방법

마지막은 Claude Code를 다른 모델과 연결하는 방법입니다. 다른 유튜브에서는 이런 걸 거의 다루지 않을 겁니다.

Claude Code는 통신 규격만 맞으면 다른 AI도 연결할 수 있었어요. 3줄의 코드를 복사해서 붙여 넣으면 Claude Code 안에 다른 모델이 들어가는 거죠. 예를 들어 Open Router라는 서비스에서 QN 3.6 모델을 쓸 수 있는데 이를 한번 써보겠습니다.

Open Router에 들어가서 API 키를 받습니다. 이렇게 생긴 API 키가 나올 겁니다. 이걸 가져가서 적절한 위치에 복사해서 붙여 넣으면 됩니다. 터미널로 가서 특정 줄을 복사해서 붙여 넣습니다. 모델을 지정하기 위해서입니다. 보통은 3줄만 있어도 되지만, 이 경우 API 토큰에 SK로 시작하는 키를 넣고 엔터를 누릅니다.

Claude를 켜면 QN 모델이 등록됩니다. 웹 검색 테스트를 해보면 로컬 파일을 참조하지 않고 웹 검색만으로 Claude 유출 사태를 조사할 수 있습니다. 실제 데이터를 가져오기 때문에 환각이 없습니다. 보안 연구자가 X에서 최초로 공개했고, 앤스로픽 측에서는 상황을 설명하고 있습니다. Claude Mytheos 사전 유출도 있었고, 거의 4일 간격으로 유출이 계속 일어나고 있습니다.

의도적인 건지, 아니면 정말로 코드를 비브 코딩으로 짠 탓인지 취약하다는 생각이 듭니다. 중요한 단서가 있습니다. 이 방법을 권장하지는 않습니다. 실험용으로 구조를 이해하기에는 좋지만, 실사용 기본값으로 밀기에는 위험합니다. 잘못 쓰면 실패합니다.

기본 설정으로 돌아가려면 원래 값을 다시 넣어서 실행하면 됩니다. 쉽게 되돌릴 수 있습니다.

마무리

마무리

이번 유출은 단순 사고로 끝나지 않습니다. Claude Code가 어디까지 가려 했는지 보여준 설계도에 가깝습니다. 신뢰 문제, 통제권 문제, 보안 사고가 한꺼번에 터진 사건입니다. 다음 영상에서 뵙겠습니다. 나중에는 Claude Code를 전부 다루는 강의를 촬영할 예정입니다. 돈을 받고 팔 건 아니고 유튜브에 공개할 예정입니다. 구독 부탁드립니다.

#AI#AI코딩#Anthropic#Claude#ClaudeCode#바이브코딩#소스코드유출