클로드 증류 공격 방어 강화|preserved thinking·거절 과금·user profiles, API 개발자가 바꿀 것

클로드 증류 공격 방어 강화, 증류자 수집 데이터 90~99% 감소 초기 근거, preserved thinking·거절 과금·user profiles

"클로드 API 응답에서 사고 블록이 갑자기 사라졌어요." "거절됐는데 요금이 나갔어요." 최근 클로드 API를 쓰는 개발자들이 겪을 수 있는 변화입니다. 앤트로픽이 2026년 10월 12일 증류(distillation) 공격 방어 방식을 공개했고, 그 사이 API에도 관련 변경이 하나씩 들어왔기 때문입니다.

결론부터 말하면, 앤트로픽은 새 방어 방법으로 증류자가 모으는 데이터가 약 90~99% 줄었다는 초기 근거가 있다고 밝혔습니다. 대신 정상 개발자도 거절 과금(9월 24일), 사고 블록 계정 제한, preserved thinking, user profiles(10월 20일) 네 가지를 확인해야 합니다.

✅ 이 글에서 얻을 수 있는 것
1. 앤트로픽이 증류를 막는 방식과 공개한 수치
2. API 개발자가 확인할 변경 4가지와 날짜
3. 재판매·게이트웨이 사업자가 user profiles를 검토해야 하는 이유

증류 공격이 왜 문제인가

증류 공격은 남의 모델에 질문을 대량으로 보내 답과 추론 과정을 모은 뒤, 그 데이터로 자기 모델을 학습시키는 방식입니다. 특히 모델이 답을 내기 전 거치는 추론 기록(사고 과정)이 핵심 재료입니다.

앤트로픽이 공개한 실험 결과가 이를 보여 줍니다.

학습 데이터 SWE-bench Verified 점수
Claude Opus 4.8의 전체 추론 기록 80.4%
Claude Opus 4.8의 요약된 추론 71.8%

같은 모델에서 나온 데이터라도 추론을 요약하면 증류 효과가 눈에 띄게 낮아진다는 뜻입니다. 앤트로픽 방어의 대부분이 "추론 기록을 밖으로 덜 새게 하는 것"에 맞춰진 이유입니다.

앤트로픽이 막는 방식 4단계

앤트로픽 증류 방어 4단계: 추론 기록 이동 막기, 2단계 분류기로 추출 시도 감지(오탐률 0.1% 미만), 일부 출력 전 거절 과금, 증류 관련 계정 수만 개 차단

  1. 추론 기록 이동 막기: Sonnet 5.5가 만든 사고 블록은 만든 계정 밖에서는 작동하지 않게 했습니다. Fable 5.1·Opus 5.5부터는 preserved thinking도 도입했습니다.
  2. 추출 시도 감지: 추론을 빼내려는 요청을 2단계 분류기로 걸러 냅니다. 오탐률(정상 요청을 잘못 막는 비율)은 0.1% 미만이고, Sonnet 5.5, Opus 5·5.5, Fable 5·5.1에 적용됩니다. 추론을 다른 언어로 번역하게 하거나 태그 안에 쓰게 하는 우회 기법도 이미 막았다고 밝혔습니다.
  3. 반복 시도에 비용: 9월 24일부터 출력 전 거절 중 bio·frontier_llm·reasoning_extraction 카테고리는 다시 과금됩니다.
  4. 계정 차단: 분류기 도입 후 증류자가 뽑아 간 추론 토큰은 이전보다 10~100배 적고, 증류 관련 계정 수만 개를 차단했습니다. 캠페인 시작 후 2시간 이내에 막는 경우가 많다고 합니다.

API 개발자가 확인할 변경 4가지

API 개발자가 확인할 변경 4가지 표: 9월 24일 3개 분류 거절 과금, 9월 28일 Sonnet 5.5 사고 블록 계정 한정, Fable 5.1·Opus 5.5 새 계정 이전 맥락 편집 불가, 10월 20일 user profiles API

시점·대상 바뀐 점 확인할 것
2026년 9월 24일부터 출력 전 거절 중 stop_details.category가 bio, frontier_llm, reasoning_extraction이면 과금 거절 응답의 카테고리를 로그로 남기기
Sonnet 5.5 (릴리스 노트 9월 28일) 사고 블록은 만든 계정 또는 연결된 계정에서만 작동 다른 계정의 사고 블록을 재전송하는 구조인지
Fable 5.1·Opus 5.5 preserved thinking, 8월 31일 이후 생성된 새 계정은 이전 컨텍스트 편집 불가 대화 기록을 고쳐서 다시 보내는 로직
2026년 10월 20일부터 /v1/user_profiles 추가 최종 고객을 나눠 관리해야 하는 사업 구조인지

1. 거절 과금: 다른 카테고리는 여전히 무료

9월 24일 이후에도 위 세 카테고리가 아닌 출력 전 거절은 과금되지 않습니다. 평범한 업무 자동화라면 영향이 작을 가능성이 큽니다. 다만 앤트로픽 스스로 오탐으로 거절된 요청에도 과금된다는 점을 트레이드오프로 인정했습니다. 청구 금액이 예상과 다르다면 거절 카테고리부터 확인하는 습관이 필요합니다.

아래는 거절 응답의 카테고리를 기록해 두는 필자 예시입니다. 응답 객체의 정확한 필드 구조는 사용하는 SDK 버전의 공식 문서로 확인하세요.

import logging

def log_refusal(response):
    # stop_details 가 없으면 일반 응답으로 보고 넘어갑니다
    details = getattr(response, "stop_details", None)
    category = getattr(details, "category", None) if details else None
    if category in ("bio", "frontier_llm", "reasoning_extraction"):
        logging.warning("과금 대상 거절 카테고리: %s", category)
    return category

2. 사고 블록: 오류 없이 조용히 사라진다

가장 놓치기 쉬운 변경입니다. 다른 계정이 만든 사고 블록을 보내면 API는 그 블록을 버리고 요청은 성공으로 처리합니다. 오류가 나지 않으니 "응답 품질이 왜 달라졌지?" 하고 한참 헤맬 수 있습니다.

⚠️ 접근 범위 표현이 출처마다 다릅니다. 앤트로픽 블로그는 "요청한 조직만", 릴리스 노트(9월 28일)는 "만든 계정 또는 연결된 계정"으로 적었습니다. 이 글은 릴리스 노트 표현을 기준으로 했습니다.

3. preserved thinking: 대화 기록 편집 로직 점검

앤트로픽은 preserved thinking 때문에 일부 개발자가 통합을 수정해야 했다고 인정했습니다. 8월 31일 이후 만든 계정이라면, 이전 턴의 내용을 바꿔 끼워 다시 보내는 방식이 그대로 동작하는지 테스트해 보세요.

📌 함께 보면 좋은 가이드: Claude Haiku 5.5 API 가격·마이그레이션|4.5에서 바꿀 때 400 오류 주의점 — 모델을 바꾸는 김에 함께 점검할 항목을 정리했습니다.

재판매·게이트웨이 사업자라면: user profiles

여러 고객의 요청을 한 API 조직으로 모아 보내는 플랫폼은 고객 한 명의 문제 요청 때문에 조직 전체가 안전 조치를 받을 위험이 있었던 것으로 보입니다. 10월 20일 추가된 /v1/user_profiles를 쓰면 안전 조치를 최종 고객 하나에만 적용받을 수 있습니다.

  • 대상: 플랫폼, API 게이트웨이, 재판매 사업자
  • 함께 나온 조직 웹훅(webhooks-2026-10-07 베타 헤더)은 별도 접근 요청이 필요합니다.

정리하면서 느낀 점

발표문을 보면 앤트로픽은 방어 효과와 함께 정상 개발자가 치르는 비용도 숨기지 않았습니다. 오탐 거절 과금과 통합 수정이 그것입니다. 실무에서는 "거절 카테고리 로그 남기기"와 "사고 블록을 계정 밖으로 옮기지 않기" 두 가지만 지켜도 대부분의 혼란을 줄일 수 있어 보입니다. 거절 과금 시 실제 청구 금액이 얼마인지는 공식 자료에 예시가 없어, 콘솔 사용량 화면으로 직접 확인하는 편이 안전합니다.

맺음말

  1. 앤트로픽은 증류자가 모으는 데이터가 약 90~99% 줄었다는 초기 근거를 공개했습니다.
  2. 9월 24일부터 bio·frontier_llm·reasoning_extraction 거절은 과금되고, 사고 블록은 만든 계정 안에서만 작동합니다.
  3. 재판매·게이트웨이 사업자는 10월 20일 추가된 user profiles로 고객별 안전 조치를 분리할 수 있습니다.

공식 자료

👉 다음에 읽을 글
- 클로드 사용량 한도 확인 방법|세션·주간 초기화 시간과 대처법 — 앱 쪽 사용량 한도가 궁금하다면
- 챗GPT 해킹 가능할까? GPT-6 아스트라 'Critical' 보안 등급 분석 — 다른 AI 회사의 보안 등급 사례

🤔 자주 묻는 질문 (FAQ)

Q. 모델 증류(distillation) 공격이란 무엇인가요?

다른 회사의 AI 모델에 대량으로 질문을 보내 답변과 추론 과정을 모은 뒤, 그 데이터로 자기 모델을 학습시키는 방식입니다. 앤트로픽은 Claude Opus 4.8의 전체 추론 기록으로 학습한 모델이 SWE-bench Verified 80.4%, 요약된 추론으로 학습한 모델이 71.8%였다고 밝혀, 추론 기록이 증류에 큰 영향을 준다고 설명했습니다.

Q. 정상적인 API 사용자도 거절 요청에 요금을 내나요?

일부 경우에 그렇습니다. Claude 릴리스 노트에 따르면 2026년 9월 24일부터 출력 전에 나온 거절 중 stop_details.category가 bio, frontier_llm, reasoning_extraction인 요청은 다시 과금됩니다. 다른 카테고리의 출력 전 거절은 여전히 과금되지 않습니다. 앤트로픽도 오탐 거절에 과금되는 점을 트레이드오프로 인정했습니다.

Q. 사고(thinking) 블록을 다른 계정에서 재사용하면 어떻게 되나요?

릴리스 노트에 따르면 Claude Sonnet 5.5가 만든 사고 블록은 만든 계정 또는 연결된 계정에서만 작동합니다. 다른 계정이 보내면 API가 그 블록을 버린 채 요청은 성공 처리하므로, 오류 없이 결과만 달라질 수 있습니다.

Q. preserved thinking 때문에 무엇이 달라지나요?

앤트로픽 발표에 따르면 Claude Fable 5.1과 Opus 5.5부터 preserved thinking이 도입되어, 2026년 8월 31일 이후 생성된 새 API 계정은 이전 컨텍스트를 편집할 수 없습니다. 대화 기록을 고쳐서 다시 보내는 방식의 통합은 점검이 필요합니다.

Q. user profiles는 누구에게 필요한가요?

2026년 10월 20일 API에 추가된 /v1/user_profiles는 플랫폼, 게이트웨이, 재판매 사업자를 위한 기능입니다. 안전 조치가 조직 전체가 아니라 문제가 된 최종 고객 하나에만 적용되도록 고객을 나눠 관리할 수 있습니다.
#클로드증류공격 #모델증류 #preservedthinking #ClaudeAPI #거절과금 #userprofiles #AI보안