연구자들은 암호화된 추론 트레이스(reasoning traces)—대화가 모델 간에 전환될 수 있도록 제공자가 사용자의 장치로 보내는 작은 패킷—가 동일한 서비스의 더 약한 모델에 의해 복호화될 수 있으며, 이 과정에서 수백 개의 자격 증명과 개인 정보가 유출될 수 있음을 보여주었습니다. Stealing Reasoning Traces from Proprietary LLM APIs 논문에 상세히 기술된 이 발견은 Anthropic, OpenAI, Google이 AI 채팅을 원활하게 유지하기 위해 의존하는 편의 기능에 위협이 됩니다.
암호화된 블록이 존재하는 이유
대규모 언어 모델(LLM)과 대화할 때, 서비스는 "추론 트레이스(reasoning trace)"를 구축합니다. 이는 답변을 도출하기까지의 내부 프롬프트, 도구 호출(tool calls), 생각의 사슬(chain-of-thought) 단계의 연속을 의미합니다. 사용자가 해당 흐름을 잃지 않고 더 큰 모델에서 더 저렴한 모델로 전환할 수 있도록, 제공자는 트레이스를 암호화하여 장치로 전송하고 다음 요청 시 이를 다시 보내도록 합니다. 이 암호화는 세션 간, 모델 간 연속성을 유지하면서도 트레이스의 기밀성을 유지하기 위한 것입니다.
공격 방식
연구자들은 강력한 모델 자체를 해킹할 필요가 없는 3단계 취약점을 시연했습니다:
- 캡처(Capture): 일반적인 대화 중에 강력한 모델이 생성한 암호화된 추론 블록을 캡처합니다.
- 입력(Feed): 해당 블록을 동일한 제공자의 더 약한 모델에 입력하고 블록을 "읽으라고" 요청합니다.
- 출력(Output): 약한 모델은 동일한 복호화 키를 공유하므로, 복호화된 내용을 평문으로 출력합니다.
약한 모델이 복호화 오라클(decryption oracle) 역할을 하는 것입니다. 공격자는 강력한 모델의 내부를 건드리지 않았으며, 단순히 제공자의 API를 공격에 이용했을 뿐입니다.
연구자들이 복구한 정보
- 182개의 자격 증명 – 트레이스에 포함된 API 키, 토큰 및 기타 비밀 정보.
- 367개의 개인 정보 – 사용자가 채팅 중에 제공한 이름, 이메일, 주소 등.
- 프롬프트 인젝션 페이로드(Prompt-injection payloads) – 암호화된 블록에 숨겨져 있어 나중에 트레이스가 재실행될 때 실행될 수 있는 악성 명령.
- 안전 필터 우회(Safety-filter bypasses) – 복호화된 트레이스에서 평문이었다면 차단되었을 단계가 드러나 유해한 콘텐츠가 통과됨.
논문은 이 취약점이 암호화 알고리즘의 결함이 아니라고 강조합니다. 암호화 자체는 견고합니다. 문제는 사용자 경험을 위해 제공자의 모든 모델이 블록을 복호화할 수 있도록 설계한 선택에서 비롯되었습니다.
문제의 핵심인 트레이드오프
제공자들이 이러한 "모델 전환" 기능을 API에 구축한 이유는 개발자와 최종 사용자가 연속성을 중요하게 여기기 때문입니다. 만약 암호화가 단일 모델 인스턴스나 세션에 종속된다면 매끄러운 전환이 끊기게 되고, 개발자는 직접 상태 관리를 구축해야 합니다. 논문은 유연성을 위해 보안이 의도적으로 희생되었다고 주장합니다.
개발자가 지금 해야 할 일
- 암호화된 트레이스를 평문(clear-text)으로 취급하십시오. 이를 저장하는 로그, 캐시 또는 모니터링 시스템이 공격자에 의해 읽힐 수 있다고 가정해야 합니다.
- 공개 저장소에 트레이스를 커밋하지 마십시오. 단 하나의 블록이라도 수십 개의 비밀 정보를 노출할 수 있습니다.
- 더 엄격한 제어 계획을 세우십시오. 제공자가 보안을 강화할 수 있으며, 이는 멀티 모델 에이전트 구축 방식에 변화를 줄 수 있습니다.
- 명시적인 상태 전달 방식으로 전환하십시오. 숨겨진 추론에 의존하는 대신, 암호화 없이도 모델 간에 안전하게 전달될 수 있는 구조화된 데이터(JSON, XML 등)를 출력하도록 에이전트를 설계하십시오.
- 프롬프트를 감사하십시오. 추론 체인에 포함되는 민감한 데이터가 있는지 확인하고 요청을 보내기 전에 이를 제거하십시오.
주요 제공자들의 행보
이 논문의 발표는 Anthropic, OpenAI, Google이 API에 내장된 복호화 정책을 재검토하도록 압박할 것입니다.
더 넓은 시사점
이번 발견은 전형적인 보안 딜레마를 보여줍니다. 편의성은 종종 뒷문을 열어줍니다. 사용자가 소유한 블록을 어떤 모델이든 복호화할 수 있게 허용함으로써, 제공자들은 공격자에게 민감한 데이터로 향하는 손쉬운 경로를 제공한 셈입니다. 해결책은 AI 통합 과정을 다소 번거롭게 만들 수 있지만, 암호화된 데이터는 암호화된 상태로 유지되어야 한다는 기대를 회복시켜 줄 것입니다.
요약: 암호화된 추론 트레이스는 보안 경계가 아니라, 당신에게 불리하게 작용할 수 있는 편의를 위한 지름길입니다. 이를 평문으로 취급하고, 로그에서 제거하며, 오직 생성된 모델만이 자신의 생각을 읽을 수 있는 미래에 대비하여 에이전트를 재설계하십시오.
