주요 LLM API에서 추론 과정 탈취 취약점 발견
연구진이 오픈AI, 구글, 앤스로픽 등 주요 LLM API의 암호화된 숨겨진 추론 과정(reasoning trace)을 복호화하여 탈취하는 기법을 공개했습니다. 이 과정에서 공개된 에이전트 궤적 데이터에서 API 키, 비밀번호, 개인정보 등 700개 이상의 민감 정보가 그대로 노출되어 있음을 확인했습니다. AI 모델의 내부 사고 과정에 숨겨진 기밀 정보를 안전하게 보호하기 위한 심각한 보안 취약점으로 평가할 수 있습니다.
우리는 OpenAI, Anthropic, Google의 최신 프론티어 모델들에서 이러한 사실을 입증했습니다. 복호화된 추론 내용은 API가 보고한 숨겨진 사고 토큰(thinking token)의 수와 매우 일치했습니다. 아래의 각 점은 120개의 Codeforces 문제 중 하나에 해당합니다. 가로축은 API가 보고한 숨겨진 사고 토큰의 수를 나타내고, 세로축은 이를 모델의 입력으로 다시 전달했을 때 복호화된 추론의 토큰 수를 나타냅니다.
우리는 Claude, GPT 및 Gemini 모델에 의해 생성되었으며 여전히 암호화된 추론 블록을 포함하고 있는 6,708개의 공개된 에이전트 궤적(trajectories)을 GitHub와 Hugging Face에서 수집했습니다. 모든 서명된 블록에 우리의 복호화 파이프라인을 적용하여 315,320개의 재구성된 추론 블록을 얻었습니다. 이러한 숨겨진 궤적에는 실제 기밀과 민감한 정보가 포함되어 있습니다. 진짜 사용자 세션(벤치마크가 아닌)으로 제한했을 때, 우리는 704개의 고유한 개인정보 침해 흔적을 복구했습니다. 여기에는 62개의 API 키, 33개의 비밀번호, 24개의 액세스 토큰 및 30개의 개인 이메일 주소와 함께 이름, 우편 주소, 내부 URL 및 기타 기술 식별자가 포함되어 있습니다. 이 704개 중 64개는 보이는 세션 어디에도 나타나지 않고 오직 추론 블록 내부에만 존재했습니다.
이 정보는 실제 환경의 벤치마크 실행 및 공개 세션에서 복호화된 추론 궤적입니다. 각 예시는 복구된 추론의 선택된 단락을 보여주며, 탐색하기 쉽도록 Claude Opus 5가 생성한 짧은 제목과 강조 표시가 함께 제공됩니다. 모든 술계(Scheming) 고려사항, 읽을 수 없는 추론, 비영어 추론, 자기 평가, Codeforces, HLE, AIME 등이 포함됩니다.
Kimi-K3의 사례: Kimi-K3의 추론을 Opus 4.8 추론의 처음 1% 토큰으로 미리 채우면(prefilling), 답변 자체는 미리 채워지지 않았음에도 불구하고 보이는 답변이 Opus의 표현을 향해 이동합니다. 각 카드는 하나의 HLE 문제입니다. 주어진 시드 Kimi-K3, 해당 시드가 있거나 없는 경우의 답변, 그리고 비교 대상이 되는 Opus의 답변을 보여줍니다.
남용을 위한 탈옥(Jailbreaking): 모델이 유해한 콘텐츠를 추론하도록 유도하면서도 표면적인 답변은 무해하게 유지하면, 위험한 지식이 숨겨진 궤적 안에 남게 됩니다. 우리의 공격은 해당 추론 내용을 일반 텍스트로 복구해냅니다. 이 데이터는 Opus 4.8에서 캡처되었으며 Haiku 4.5로 복호화되었습니다.
요약의 부정확성: 일부 AIME 문제에 대해 Opus 4.8은 때때로 정답을 도출하기 전에 먼저 제시합니다. 우리는 API 요약이 항상 이러한 구분을 유지하지는 않으며, 오히려 추론이 깔끔하게 도출된 것처럼 보이게 만들 수 있음을 발견했습니다.
BibTeX 복사 @misc { panfilov2026stealing , title = { Stealing Reasoning Traces from Proprietary LLM APIs }, author = { Alexander Panfilov and David Schmotz and Ilia Shumailov and Luca Beurer-Kellner and Joachim Schaeffer and Ameya Prabhu and Jonas Geiping and Maksym Andriushchenko }, year = { 2026 }, eprint = { 2608.09867 }, archivePrefix = { arXiv }, url = { https://arxiv.org/abs/2608.09867 } }