앤트로픽 유출 건으로 알아보는 보안에서 시스템화의 중요성

사람은 실수하기에, 보안에는 시스템이 필요합니다.
Anthropic 소스코드 유출 사건이 보안 담당자에게 남긴 교훈
2026년 3월 31일, AI 안전성을 브랜드 정체성으로 삼는 회사 앤트로픽(Anthropic)이 스스로 소스코드를 유출하는 사고가 발생했습니다.
사고 원인에 대한 앤트로픽의 공식 입장은
"This was a release packaging issue caused by human error."
바로 인적 오류. 사람의 실수였습니다.
이 해명은 사실입니다. 그런데 동시에, 가장 위험한 변명이기도 합니다.
무슨 일이 있었나

Claude Code는 Anthropic의 AI 코딩 어시스턴트입니다. 터미널에서 실행하며, 파일을 수정하고 프로젝트 전체를 관리할 수 있는 에이전틱 도구입니다. 폐쇄 소스로 배포됩니다. 즉, 내부 코드는 공개하지 않는 게 원칙입니다.
그런데 이번에 npm 패키지 v2.1.88을 배포하면서, 개발자가 실수로 소스맵 파일(.map)을 패키지 안에 포함시켰습니다.
소스맵이 뭔지 비유로 설명하면 이렇습니다. 출판사가 책을 인쇄할 때, 편집자의 교정 메모가 적힌 원고를 책 사이에 끼워서 서점에 내보낸 것과 같습니다. 독자에게 줄 필요가 없는 내부 문서가 함께 나간 것입니다.
더 심각한 건, 그 소스맵이 Cloudflare R2 스토리지에 올라가 있는 원본 TypeScript 소스코드 전체를 가리키고 있었다는 점입니다. 그리고 그 스토리지는 외부에서 접근 가능한 상태였습니다.
결과적으로 누구든 URL 하나로 약 51만 2000줄, 1900개 파일의 소스코드를 통째로 내려받을 수 있었습니다. 사고가 알려진 지 수 시간 만에 깃허브(GitHub)에 4만 1500번 이상 포크됐고, X(트위터) 관련 게시물은 2100만 뷰를 넘겼습니다.
"인적 오류"는 왜 변명이 되는가
Anthropic의 해명은 거짓이 아니었습니다. 실제로 사람이 실수했습니다. 그런데 .npmignore 파일 하나, 혹은 package.json의 files 필드 한 줄만 제대로 설정했어도 이 사고는 막을 수 있었습니다.
바로 그게 문제입니다.
보안의 본질은 사람을 신뢰하지 않는 것입니다. 아무리 뛰어난 개발자도 반복 작업에서 실수합니다. 배포 당일 오전, 다른 업무에 집중한 상태에서 빌드 설정을 놓치는 건 충분히 일어날 수 있는 일입니다. 그래서 시스템이 그걸 잡아줘야 합니다.
배포 파이프라인에 자동 검증 단계가 있었다면 어떻게 됐을까요. "이 패키지에 .map 파일이 포함되어 있습니다. 계속하시겠습니까?" 라는 게이트 하나만 있었어도 이 사고는 막을 수 있지 않았을까요?
Anthropic에는 그 게이트가 없었습니다.
더 불편한 진실: 이건 처음이 아니었다
2025년 2월, Claude Code 초기 버전에서 동일한 유형의 코드 노출 사고가 있었습니다. 내부 코드가 외부에 드러났고, Anthropic은 해당 패키지를 제거했습니다.
그로부터 1년 후, 2026년 3월, 같은 실수가 반복됐습니다.
이건 단순한 인적 오류가 아닙니다. 재발 방지 체계가 없었다는 증거입니다.
보안 사고 이후 조직이 해야 할 일은 두 가지입니다. 원인을 분석하고, 같은 일이 다시 일어나지 않도록 시스템을 바꾸는 것입니다. Anthropic은 첫 번째는 했지만 두 번째는 하지 않았습니다.
보안 담당자가 할 세 가지 질문
이 사건은 Anthropic만의 이야기가 아닙니다. 배포 파이프라인을 가진 모든 조직에 해당하는 이야기입니다.
1. 우리 빌드 파이프라인에 민감 파일 포함 여부를 자동으로 검사하는 단계가 있는가?
패키지나 컨테이너 이미지를 배포하기 전에, 내부 디버그 파일·자격증명·소스맵·내부 설정 파일이 포함되어 있는지 자동으로 차단하는 게이트가 있어야 합니다. 사람이 매번 확인하는 구조는 사고를 예고하는 구조입니다.
2. 보안 사고 이후 재발 방지 체계가 문서화되어 있는가?
사고가 나면 대응은 합니다. 그런데 그 사고로부터 무엇을 바꿨는지, 어떤 프로세스가 추가됐는지 문서로 남기는 조직은 많지 않습니다. 문서화되지 않은 재발 방지는 다음 담당자에게 전달되지 않습니다.
3. 우리 조직의 클라우드 스토리지에 민감한 내부 파일이 올라가는 것을 통제하는 정책이 있는가?
이번 사건에서 Cloudflare R2 버킷 자체가 잘못 설정된 건 아니었습니다. 그런데 내부 소스코드 zip이 외부 접근 가능한 버킷에 올라가 있었습니다. 어떤 파일이 어떤 스토리지에 올라갈 수 있는지에 대한 데이터 분류 정책과 접근 통제가 있어야 합니다.
마치며
Anthropic은 "AI Safety"를 회사의 존재 이유로 내세웁니다. 그런데 기본적인 빌드 파이프라인 보안을 1년 넘게 놓쳤습니다.
이건 Anthropic을 비웃으라는 이야기가 아닙니다. 오히려 반대입니다. 세계 최고 수준의 엔지니어들이 모인 조직도 이런 실수를 한다는 게, 시스템 없이는 사람을 믿을 수 없다는 가장 강력한 증거입니다.
보안은 사람의 주의력에 기대는 순간 무너집니다. 파이프라인이 사람을 대신해 검사해야 합니다. 사고 이후엔 프로세스가 바뀌어야 합니다. 그리고 그 변화는 문서로 남아야 다음 사람에게 전달됩니다.
"human error"는 원인이 아닙니다. 시스템이 없었다는 결과입니다.
참고문헌: VentureBeat, The Register, Fortune, Cybernews 보도 (2026년 3월~4월)
More

사업자등록번호 277-81-01840 | 대표 : 양혁재
서울특별시 강남구 역삼2동 테헤란로 238 마크로젠빌딩 3층 테이텀
통신판매업신고 : 제2021-서울서초-3149호 사업자 정보 확인


