Anthropic이 10월 12일 모델 증류(distillation) 방어 성과를 공개했습니다. 핵심 숫자는 하나입니다.

공격자가 추출한 추론 토큰 ≈ 기존의 1/10 ~ 1/100 수준
→ 90~99% 감소 (Anthropic 자체 측정, 초기 결과)

다만 이 숫자를 오래 가는 승리로 읽으면 안 됩니다. Anthropic 스스로 고양이와 쥐 게임이라고 말합니다. 이 글은 무엇이 막혔고 무엇이 남았는지를 차분히 정리합니다.

무단 증류가 노리는 것은 답이 아니라 생각 과정이다

증류 자체는 합법적인 기법입니다. 큰 모델의 출력을 작은 모델 학습에 쓰는 건 흔한 일입니다. 문제가 되는 건 허락 없이 대량으로 긁어가는 무단 증류입니다.

공격의 대본은 대략 이렇습니다.

1. 가짜 계정 수백~수천 개 + 프록시로 Claude API 접속
2. 수백만 개 응답을 뽑아낼 목적으로 정교한 프롬프트 반복
3. 특히 Claude가 답 전에 적는 추론(reasoning) 과정을 노림
4. 모은 기록으로 경쟁 모델을 학습시켜 능력 이식

왜 추론이 귀할까요? 답만 있으면 결과만 배우지만, 추론이 있으면 거기까지 가는 길이 보이기 때문입니다. Anthropic의 실험에서도 전체 기록으로 학습한 모델이 SWE-bench Verified에서 80.4%, 요약본만으로 학습하면 71.8%를 냈습니다. 약 9%p 차이가 추론의 가치입니다.

2월에 공개된 탐지 사례에서는 내부 추론을 상상해서 단계별로 적어내라는 식의 우회 프롬프트, 검열 회피용 대체 답변 대량 생성 같은 패턴이 관찰됐습니다. 겉보기엔 평범한 요청 하나가 규모가 되면 추출 공격이 됩니다.

3겹 방어: 어디로 가는지, 시도를 막기, 계정을 자르기

Anthropic의 방어는 세 방향입니다.

① 추론이 갈 수 있는 곳 통제 (preserved thinking)
② 추출 시도 차단 (2단계 분류기)
③ 계정 단위 제재 (사용량 제한·밴)

하나씩 풀어보겠습니다.

① preserved thinking: 컨텍스트를 마음대로 못 고치게

Claude Fable 5.1과 Opus 5.5부터 들어간 조치입니다. 2026년 8월 31일 이후 생성된 새 API 계정은 Claude의 이전 컨텍스트를 편집할 수 없습니다.

공격 수법: 보호된 추론 블록을 대화·모델·계정 사이로 옮겨
          “이미 접근 권한이 있는 것처럼” 속이기
방어: 새 계정의 prior context 편집 금지
     추론은 만든 조직만 볼 수 있게 (Sonnet 5.5부터)
     가드가 약한 구형 모델이 신형 추론을 읽지 못하게 차단

이 때문에 일부 정상 개발자도 연동을 고쳐야 했습니다. 보안과 호환성은 맞바꾼 겁니다.

② 2단계 분류기: 생화학 가드 수준으로

사이버·바이오 유해 차단에 쓰는 것과 같은 계열의 2단계 분류기를 증류 탐지에 붙였습니다. 내부·외부 레드티밍으로 뚫어보고 패치했다는 설명입니다.

적용 모델: Sonnet 5.5, Opus 5·5.5, Fable 5·5.1
오탐율: 0.1% 미만 (정상 요청 1,000건 중 1건 미만 차단)
강건함: 생화학 무기 차단 가드와 비슷한 수준이라는 주장

9월에 보고된 증류 기법들은 현재 이 분류기가 전부 잡는다고 합니다. 다만 아직 고도로 집요한 우회는 겪어보지 못했다는 단서가 붙어 있습니다.

③ 계정 제재: 2시간 내 밴, 수만 개 차단

반복 시도는 사용량 제한을, 집요한 캠페인은 계정 밴을 받습니다. 적지 않은 경우 캠페인이 시작되고 2시간 안에 밴이 나갑니다. 지금까지 수만 개 계정이 증류 연관으로 차단됐습니다.

여기서 논쟁적인 대목이 하나 있습니다. 9월 24일부터 오탐율 0.1% 미만인 보호 카테고리에서는 차단된 요청도 과금합니다. 정상 요청이 잘못 막히면 돈까지 내는 구조라 불만이 나올 수 있습니다. Anthropic은 수조 토큰 분량의 유료 증류 트래픽과 그 매출을 스스로 걷어찼다고 설명합니다. 방어에는 비용이 든다는 얘기입니다.

차트는 어떻게 읽어야 하나

Anthropic이 공개한 차트의 메시지는 이렇습니다.

분류기 전면 적용 후, 추출된 추론 토큰이 이전 대비 10~100배 낮게 유지
어떤 날은 측정 불가 수준까지 떨어짐
+ preserved thinking 효과가 별도로 더해짐

주의할 점도 분명합니다.

- Anthropic 자체 플랫폼에서 측정한 유출량 기준 (시도 횟수가 아님)
- 초기 내부 측정, 장기 효과는 미확정
- 공격자는 다른 플랫폼으로 옮겨갈 수 있음
- 정교한 우회는 아직 안 와봤다고 스스로 밝힘

즉 내 API도 안전해졌다는 뜻이 아니라, 최소한 Claude 정면에서의 대량 추출은 비싸졌다는 뜻입니다.

실무 액션: 우리 모델 API도 같은 눈으로 보기

당장 모델 API를 직접 서빙하지 않더라도, Claude를 쓰는 팀이라면 다음을 같이 보세요.

[ ] 비정상 반복 요청: 같은 패턴의 대량 요청이 있는가
[ ] 사용량 급증: 특정 키·계정의 토큰 폭증을 누가 보는가
[ ] 차단 오탐: 차단된 정상 요청 비율과 고객 불만이 있는가
[ ] 컨텍스트 이동: 대화 간 추론·컨텍스트를 옮기는 연동이 있는가
[ ] 키 관리: 유출된 키가 프록시·리셀러로 돌고 있지는 않은가

9월 위협 보고서가 지적한 대로, 공격자들은 고객 환경에서 훔친 API 키를 즐겨 씁니다. Anthropic 시스템 자체가 뚫린 게 아니라 고객 연동이 뚫린 겁니다. 샌드박스·프록시·리셀러 같은 연동부가 공격 표면이라는 점을 잊기 쉽습니다.

결론: 모델 보안의 전선이 옮겨갔다

예전 모델 API 보안이 인증과 rate limit이었다면, 이제는 이렇게 바뀌고 있습니다.

인증·요청 제한 → 대규모 능력 추출 방지
출력 검열 → 추론 과정의 이동 통제
계정 정지 → 캠페인 단위 탐지와 2시간 내 대응

짧고 굵은 제안은 하나입니다. 이번 주에 우리 팀의 Claude 사용량 그래프를 열어 반복 패턴과 폭증을 한 번만 훑어보세요. 증류 방어는 남의 일이 아니라 API를 쓰는 모든 팀의 운영 항목이 됐습니다.

함께 읽으면 좋은 글

참고 자료

이 주제를 직접 따라가며 배우고 싶다면

비정상 요청을 골라내고 자동 처리와 사람 검토를 나누는 감각이 이 글의 운영 항목과 바로 이어집니다. 분류와 우선순위 결정을 코드로 연결하는 연습부터 시작해 보세요.