OpenAI는 2026년 9월 30일, Disrupting a coordinated model-distillation campaign을 공개했습니다. 여러 공격자가 모델의 응답을 수집하여 다른 모델의 훈련에 이용하는 협조적인 모델 증류 캠페인을 감지하고 차단했다는 보고입니다. 이는 OpenAI의 사례 보고이며, 모든 AI 서비스에 동일한 공격이 발생하는 빈도를 나타내는 것은 아닙니다.
모델 증류를 '모델 내부의 문제'로 간주하면 공개 API 설계가 잘못됩니다. 공격자가 보는 것은 입력에 대한 출력, 에러, 대기 시간, 상한선의 동작입니다. 경계에서 관찰하고 남용을 막으며 정당한 이용자의 경험을 보호해야 합니다.
공격자가 수집하는 것들
증류에서는 응답뿐만 아니라 다음의 차분(differential)이 교사 신호가 됩니다.
- 동일 질문에 대한 답변의 흔들림
- 에러 발생 시 메시지와 스테이터스
- 레이트 제한에 도달할 때까지의 횟수
- 입력 크기나 히스토리의 상한선
- 모델 전환에 따른 속도/문체 변화
비밀 프롬프트를 숨기는 것만으로는 충분하지 않습니다. 공개 API의 동작 자체를 필요 최소한으로 설계해야 합니다.
경계에서 구현하는 네 가지 제어
1. 클라이언트 단위 상한선
전체 상한선만으로는 한 명의 연속 사용자가 다른 이용자를 배제할 수 있습니다. IP나 Turnstile 등의 식별자를 조합하여 단시간, 일별, 전체 상한선을 분리합니다. 식별자는 해시화하고 앱 로그에 질문 본문을 남기지 않습니다.
2. 실패 이유의 세분화 축소
권한 에러, 존재 확인, 모델 내부 상태를 모두 상세하게 반환하면 탐색용 정보가 됩니다. 이용자에게 필요한 설명과 운영자만 볼 수 있는 모니터링 정보를 분리합니다.
3. 출력 재사용을 전제화
동일 질문에 대한 응답이 학습 데이터로 대량 회수될 가능성을 고려하여, 식별 정보나 개인 정보를 출력하지 않도록 하고, 답변의 근거 범위를 제한하며, 불필요한 히스토리를 전달하지 않는 설계로 합니다.
4. 중단과 복구를 측정
거부 횟수, Turnstile 실패, IP 단위 편향, 동일 질문 반복, 에러율을 관찰합니다. 중단 조건과 해제 조건을 정하고 담당자가 판단할 수 있는 감사 로그를 남깁니다.
JAXIA의 공개 구현과의 접점
JAXIA의 AI 안내원 'ねくたん'에서는 질문과 직전 히스토리의 크기를 제한하고, Turnstile, IP의 HMAC 식별, 전체/클라이언트 단위 이용 상한선을 조합하고 있습니다. 이는 남용 시 피해 범위를 한정하는 공개된 설계입니다.
또한, JAXIA는 Multi-Agent Governance & Integration으로서 데이터, 권한, 예외 처리, 품질, 보안, 인간 검토를 통합하여 설계하는 관점을 제시합니다. 모델 증류와 같은 외부 위협도 모델뿐만 아니라 진입점(entry), 출력, 운영의 경계에서 다루어야 합니다.
구현 시 최소 점검
type Decision =
|
{ kind: