Hacker News보안

클라우드플레어 AI 모델서 사용자 데이터 노출, 155건 영향

원제 Cross-request KV cache exposure in the GLM-5.3 Workers AI model (155 responses)

113 포인트댓글 37
Key Point

컨텍스트 윈도우와 실제 메모리 풀 크기의 불일치가 추론 엔진의 버그와 결합되어 사용자 간 데이터 유출을 초래한 사례로, disaggregated 구조의 AI 추론 서비스를 운영하는 회사들이 참고해야 할 설정·배포 체크리스트와 업스트림 수정 사항을 제시한다.

핵심 요약

  • 클라우드플레어의 Workers AI에서 제공하는 GLM-5.3 모델에서 한 사용자의 응답이 다른 사용자의 요청 데이터를 포함하는 테넌트 격리 문제가 발생했다.
  • 8월 27일부터 9월 9일까지 681,280토큰을 초과하는 긴 프롬프트에 대한 응답 155건이 영향을 받았으며, 의도적인 악용 흔적은 없었다.
  • 근본 원인은 두 가지였다: 첫째, GLM-5.3의 KV 캐시 풀 크기(681,280토큰)가 선언된 컨텍스트 윈도우(1,048,576토큰)보다 작았고, 둘째, 오픈소스 추론 엔진 SGLang에서 초과 길이 요청을 disaggregated prefill/decode 모드로 처리할 때 거부된 요청을 제대로 중단하지 않는 버그가 있었다.
  • 거부된 요청은 원토큰 플레이스홀더로 바뀌었지만 클라이언트 에러를 반환하지 않고, prefill이 생성한 KV 캐시가 decode 노드로 전송되며, decode는 이전 요청의 KV 캐시 페이지를 덮어쓰지 않고 이전 데이터를 읽으면서 다른 사용자의 데이터가 응답에 포함되었다.
  • 클라우드플레어는 9월 8일 보안연구자 신고를 받아 다음날 재현하고 40분 내에 모델을 오프라인으로 전환했으며, KV 캐시 풀을 약 2.04백만 토큰으로 확대하고 거부된 요청을 disaggregation admission 단계에서 중단하는 엔진 패치를 적용했다.
  • SGLang의 PR #36988(v0.5.20)과 #38935(v0.5.21)에서 upstream 수정이 병합되었으며, 이후 v0.5.21과 v0.5.22에서 추가적인 레이스 조건, 메모리 관리, 감시 기능 관련 수정이 포함되었다.
  • 클라우드플레어는 disaggregated SGLang을 운영하는 다른 업체들이 KV 풀 크기를 컨텍스트 길이에 비교하고, v0.5.22 이상으로 업그레이드하고, deferred KV release를 활성화하고, 전송 배치 크기를 제한하고, 가능하면 corruption detection을 켤 것을 권장했다.
  • longer-term 대책으로는 KV 페이지에 태그를 붙여 할당 해제 시 변경하고 decode 읽기 전 태그를 확인하는 보호(prototype 테스트 결과 처리량 1% 미만 오버헤드), 그리고 RDMA 기반 KV 캐시 전송 프로토콜의 안전성을 형식 검증으로 증명하는 작업을 진행 중이다.
  • GLM-5.3이 영향을 받은 유일한 모델이었으며 다른 모든 disaggregated 배포는 KV 풀이 컨텍스트 길이보다 컸다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗