워크스페이스 인스턴스 또는 소비자 계정 간 잠재적 세션/캐시 누출
(github.com/anthropics)- Claude Code 이슈 #74066에서 Enterprise ZDR 워크스페이스 사용자가 자신의 작업과 무관한 Minecraft temple 관련 응답이 세션에 섞였다고 신고하며, 워크스페이스 캐시 격리와 소비자 플랜 간 누출 가능성을 문제 삼음
- 신고 환경은 macOS(darwin), Apple_Terminal, Claude Code 2.1.199이며, 사용자는 실제 작업 디렉터리와 실행 디렉터리가 다른 특이한 설정을 사용했고
/compact이후 실행 디렉터리 쪽 프로젝트를 건드린 별도 혼선도 있었다고 밝힘 - 한 댓글은
~/.claude/projects/<encoded-cwd>/<session-id>.jsonl의 로컬 transcript를grep해 로컬 컨텍스트 오염인지 서버 측 누출인지 먼저 가르라고 제안했고, 신고자는 Minecraft 관련 로컬 매칭이 현재 세션 로그와minecraft.py경로 외에는 없었다고 답함 - 이후 같은 Enterprise 계정의 Claude Mobile 세션에서도 무관한 3-panel abstract print 관련 내용이 섞였고, 공통점으로 Sonnet 5와 5분 이상 후 첫 응답인 캐시 미스를 들며
/feedback제출과 내부 에스컬레이션을 진행했다고 함 - 다른 참여자들은 유사한 Claude Code·API·사무실 내 Claude 사용 경험을 공유했지만, 일부는 환각 가능성이나 Claude Code만의 문제가 아닐 가능성을 제기했고, 이슈 페이지에는 Anthropic의 최종 원인 분석이나 해결 결과가 없음
신고된 현상
- Claude Code 이슈 #74066은 Enterprise ZDR 워크스페이스에서 인증된 상태였는데, 에이전트가 갑자기 “Minecraft temple”을 만들고 있다고 말한 사례를 다룸
- 사용자는 에이전트가 어떤 종류의 벽돌을 원하는지 물었고, recap에서도 Minecraft temple을 만들고 있다고 자신 있게 말했다고 적음
- 문제 제기는 두 갈래임
- 같은 워크스페이스 내 동료의 세션이나 캐시가 섞였을 가능성
- 소비자 플랜에서 온 내용이 Enterprise ZDR 세션에 섞였을 가능성
- 신고된 환경 정보
- Platform:
darwin - Terminal:
Apple_Terminal - Version:
2.1.199 - Feedback ID:
f336f5d2-3992-4a04-9e1f-ec30f006f75e
- Platform:
실행 디렉터리와 작업 디렉터리 혼선
- 사용자는 세션을 실제 작업과 무관한 디렉터리에서 시작함
- 그 디렉터리에 필요한 컨텍스트가 담긴
.claude디렉터리가 있었기 때문임 - 실제 작업은 다른 디렉터리에서 수행 중이었음
- 그 디렉터리에 필요한 컨텍스트가 담긴
/compact이후 에이전트가 사용자의 지시를 잊고 실행 디렉터리 쪽 프로젝트를 작업하기 시작한 일이 있었음- 사용자는 이 디렉터리 혼선은 자신의 설정 때문에 생긴 것으로 보지만, Minecraft 관련 프롬프트가 섞인 현상과는 다르다고 구분함
로컬 transcript 확인 제안
- 한 참여자는 먼저 “Minecraft temple” 텍스트가 로컬 세션 파일에 존재하는지 확인해야 한다고 제안함
- Claude Code CLI의 송수신 내용은 세션별 transcript로
~/.claude/projects/<encoded-cwd>/<session-id>.jsonl에 저장된다고 설명함 - 제안된 확인 명령은 다음과 같음
grep -rli 'minecraft\|temple\|brick' ~/.claude/projects/ 2>/dev/null
- 결과 해석은 두 가지로 나뉨
- 파일이 매칭되면 텍스트가 로컬에 존재하므로 로컬 context/transcript bleed일 수 있음
- 로컬에서 매칭이 없으면 해당 머신에서 송수신한 적 없는 텍스트이므로 모델 또는 서버 측 문제를 의심해야 함
- 다른 세션에서 온 로컬 혼선인지 확인하기 위한 명령도 제안됨
grep -rli minecraft ~/.claude/projects/ | while read f; do
printf '%s %s\n' "$(grep -m1 -o '"cwd":"[^"]*"' "$f")" "$f"; done
- 제안자는 launch cwd가 transcript 저장 위치와 컨텍스트 키 역할을 하므로, 무관한 디렉터리에서 시작하고
/compact를 쓰면 디렉터리 혼선이 생길 수 있다고 봄 - 다만 그 메커니즘은 디렉터리 혼선을 설명할 수 있을 뿐, 사용자가 쓰지 않은 Minecraft prompt 자체를 설명하지는 못한다고 구분함
신고자의 추가 확인 결과
- 신고자는 로컬 검색 결과, 현재 세션 로그에서 처음 누출처럼 보인 지점과 이후 모델과의 대화 외에는 관련 매칭이 없었다고 답함
minecraft에 대해서는 Python 가상환경의 파일 목록에 포함된 Pygments lexer 경로minecraft.py가 한 번 등장했다고 함temple이나bricks는 해당 단어 경계나 Minecraft와 관련된 맥락에서 매칭되지 않았다고 함Databricksbricked by an over-eager clickverdictSignalsLabel안의 부분 문자열 같은 무관한 매칭은 있었다고 밝힘
- 사용자는
/feedback을 제출했고 내부적으로도 에스컬레이션했다고 밝힘
Claude Mobile에서의 유사 사례
- 같은 신고자는 동일한 Enterprise 계정의 Claude Mobile 세션에서도 같은 종류의 현상이 있었다고 추가함
- 공통점으로 다음을 들었음
- Sonnet 5
- 5분 이상 지난 뒤의 첫 응답
- 캐시 미스 상황
- 이메일 첨부 이미지가 올라가지 않자 OCR 내용을 댓글로 남김
- 사용자는 CSV들을 폴더에 모았고 Google Drive 폴더 링크를 주며 도움을 요청함
- Claude는 벽 실제 치수에 맞춘 3-panel abstract print set mockup과 예술가·상점 리서치 같은, 요청과 무관한 내용을 말함
- 이어 “Detecting injection attempt, proceeding...”이라고 말하며 해당 내용을 injection처럼 취급함
- 표시된 사고 과정에는 사용자의 CSV 요청과 무관한 벽 치수·아트 프린트 관련 블록이 끼어 있다고 판단하고, Drive 폴더 ID를 추출해 CSV 파일을 처리하려 한다는 내용이 포함됨
다른 참여자들의 사례와 반응
- 한 참여자는 이전 주에 Sonnet 5 기반 Claude Code에서 도구 결과 중간에 실제 호출한 도구에서 오지 않은 내용이 섞였다고 적음
- 조작된 “MCP servers need auth” 알림
- 다른
CLAUDE.md덤프 - 가짜 “Plan mode is active” 지시가 포함됐다고 함
- 다른 참여자는 Claude가 자신의 친구가 사는 위치 근처의 상점을 말한 적이 있으며, 그 친구도 같은 사무실에서 Claude를 쓴다고 적음
- 또 다른 참여자는 2025년에 API 토큰을 사용할 때 다른 에이전트의 도구가 갑자기 등장한 것처럼 보였고, 당시에는 환각으로 보고 깊게 조사하지 않았다고 함
- 한 댓글은 관련 Claude incident 글을 링크하며, 처음에는 다른 사용자의 데이터를 본 것으로 생각했지만 Anthropic이 나중에 내부 agent context가 잘못 노출된 것이라고 말했다고 적음
- 일부 댓글은 이 현상이 환각처럼 보인다고 하거나 Claude Code만의 문제가 아닐 수 있다고 봄
현재 상태와 남은 쟁점
- 이슈는 페이지상 Open 상태이며, 본문에 최종 원인 분석이나 수정 완료 내용은 없음
- 핵심 쟁점은 무관한 텍스트가 어디에서 유입됐는지임
- 로컬 transcript나 launch cwd 기반 컨텍스트 혼선
- 모델 또는 서버 측 세션 상태 문제
- 내부 agent context의 잘못된 노출
- 일반적인 환각
- 신고자의 로컬 검색 결과는 Minecraft temple·bricks 관련 내용이 기존 로컬 세션들에서 발견되지 않았다는 방향이지만, 공개 이슈 안에는 Anthropic의 공식 판정이 없음
댓글과 토론
Hacker News 의견들
-
여러 제공사의 LLM을 쓰는 쪽에서 깊게 관여하고 있는데, 중간 인프라가 응답을 서로 바꿔치기한 사례를 최소 두 번 알고 있음
한 번은 Claude 모델, 한 번은 GPT 모델에 영향을 줬고 서로 다른 제공사였음
한 곳은 제대로 된 사후 분석을 줬는데, API 게이트웨이가 HTTP 100 상태 코드를 잘못 처리해 오류 상태에 들어가면서 사실상 off-by-one 오류가 났고, 내 요청 직전 프롬프트의 응답을 받으며 내 응답은 다음 호출자에게 넘어가는 식이었음
다른 한 곳은 근본 원인을 설명하지 않았고, 다시는 안 일어날 거라고 믿으라는 말만 들었음
둘 다 시가총액 1조 달러 이상 회사였음
이 경우에는 응답이 전송 중에 바뀐 것이어서 ZDR 자체가 깨진 건 아니지만, 비슷한 문제일 수 있다고 봄. 데이터가 보존되는 게 아니라 중간 인프라에서 안전하게 격리되지 않는 쪽일 수 있음- 이 공격은 HTTP 비동기화(HTTP desync) 또는 요청 밀수(request smuggling) 라고 부름
클라이언트가 다른 클라이언트의 응답을 엿보려고 의도적으로 쓰는 경우도 많음
여러 클라이언트의 요청을 하나의 업스트림 연결에 다중화할 때마다 취약할 가능성이 있는데, 겉보기와 달리 HTTP가 너무 복잡해서 요청과 응답을 업스트림에서 안정적으로 맞추기 어렵기 때문임
예를 들어 Content-Length 헤더가 둘 이상 있거나, Content-Length와 청크 인코딩을 섞거나, 실제 본문 길이와 맞지 않는 HTTP/2 Content-Length 헤더를 넘기면 일부 시스템에서 비동기화가 유발될 수 있음
이 주제의 DEF CON 발표가 있음: https://www.youtube.com/watch?v=w-eJM2Pc0KI
같은 공격은 메시지 종료 구분자 주변의 줄바꿈을 꼬아 SMTP에도 적용됐고, 그쪽에서는 SMTP smuggling이라고 부름. 다른 프로토콜에도 적용될 수 있음 - 그럴듯하긴 한데, 그러면 응답이 기업망 밖으로 나갈 수 있으니 ZDR의 암묵적 위반 아닌가 싶음
예를 들어 PHI를 다루고 있다면 Claude가 아무것도 보존하지 않았더라도 응답 유출은 HIPAA 위반 가능성이 있고, 애초에 HIPAA 준수가 목적이었을 텐데 어떻게 봐야 할지 궁금함 - 왜 throwaway 계정을 쓰는지가 명확하진 않음
긍정적 도덕 가치에 대한 주장조차 간신히 그럴듯한 행위자들에게서 새로 나타나는 모든 행동은 일찍, 자주 보고되고 토론되고 해부되고 비판돼야 함
- 이 공격은 HTTP 비동기화(HTTP desync) 또는 요청 밀수(request smuggling) 라고 부름
-
AGENTS.md에 “명시적으로 요청받지 않는 한 Minecraft 얘기는 절대 하지 말라”는 줄만 추가하면 괜찮아질 것 같음
- Anthropic은 AGENTS.md 같은 표준 관용 패턴을 쓰기엔 너무 배타적이고 한 차원 위라서 CLAUDE.md여야 함
-
입증되기 전까지는 환각처럼 들림. 선도적인 LLM들도 가끔 그런 일을 하고, 항상 그럴듯해 보임
세션에 이전 문맥이 아주 많이, 예를 들어 80만 토큰 이상 들어 있었을 수도 있고, 그런 경우 환각 가능성이 더 커진다고 봄
원글 작성자의 관련 코멘트도 환각 가능성을 높여 줌: Python 가상환경 파일 목록을 출력하던 도구 호출 결과에minecraft.py경로 문자열이 포함돼 있었고, Pygments 패키지에minecraft.py라는 렉서가 있다는 내용임- 환각의 정확한 정의가 없다는 건 알지만, 이건 보통 환각이라고 부르는 것과는 전혀 다르게 들림
환각은 대개 그럴듯하지만 틀린 답이나, 생성된 인용처럼 가장 가능성 높은 응답에 맞춰진 조작 정보이고, LLM이 토큰을 예측하는 방식에서 나옴. 이 사례는 완전히 그럴듯하지 않은 출력이라 환각과 잘 맞지 않음
그렇다고 반드시 세션 간 누출일 필요는 없고, 학습 데이터이거나 빈 프롬프트만 줬을 때 대화를 뱉어내는 Magpie식 데이터 생성 같은 것일 수도 있음
캐싱 관련 하위 댓글들을 보면, 캐시 대신 아무것도 로드하지 못해 무작위 생성을 뱉는 오류일 가능성도 있어 보임
정정하자면 새 이름은 magpie였음. LLM이 아무것도 없는 프롬프트에서 무작위 대화를 생성한다는 개념은 볼 만하고, 세션 누출만큼은 가능해 보임: https://github.com/magpie-align/magpie - 글쓴이가 아래 스레드에서 별도 문맥에서 재현했다고 주장함
같은 Enterprise 계정의 Claude Mobile 세션에서도 같은 일이 있었고, 공통점은 Sonnet 5와 5분 이상 지난 뒤 첫 응답, 즉 캐시 미스였다고 함 - 동의하지 않는 건 아니지만, 이런 일은 어쨌든 조사해야 함
투명성이 너무 부족해서, 누출이 없었다고 부인하더라도 확실히 알 수 없다는 점이 아쉬움 - 왜 그게 더 가능성을 높인다는 건지 궁금함
- 맞음
LLM을 충분히 써봤다면 모든 모델이 가끔 완전히 다른 언어로 갑자기 헛소리를 쏟아내는 걸 본 적이 있을 것임. 일정 비율로 완전히 이상해질 수 있음
- 환각의 정확한 정의가 없다는 건 알지만, 이건 보통 환각이라고 부르는 것과는 전혀 다르게 들림
-
최근 며칠 동안 Gemini에서도 이걸 보고 있음
꽤 큰 입력을 넣은 프롬프트에서 종종 다른 사람에게 속한 것처럼 보이는 답이 나옴. 유발된 환각일 수도 있지만 캐시 충돌이나 다른 문제처럼 보이기도 함
개인 정보가 새고 있다는 증거는 못 봤지만, 어떤 주제를 조사하다가 갑자기 수학 과외 답변처럼 보이는 걸 받으면 불안함- 지난 몇 주 동안 UI로 접근한 Gemini에서도 문제가 있었음. 며칠 뒤 다른 맥락에서도 같은 걸 보고 있다니 우려됨
지금 뒤에서 큰 보안 사고가 진행 중일 수도 있겠다는 생각이 듦
AI로 메타 파싱 문법 작성을 보조하게 하는 작업을 해왔고, 다행히 대부분은 아직 공개하지 않았음
다음 세대 모델은 특히 어디를 보게 할지 알면 기본적인 취약점 식별과 악용에서 큰 단계 변화를 보여준다는 걸 확실히 알겠음. 내 파싱 도구에서도 이미 버그 몇 개와 최소 하나의 익스플로잇을 찾아냈고, 현대 기술 생태계 전체에는 아직 얼마나 많이 남아 있을지 상상하기 어려움 - 우리 회사 전체가 중간 평가를 하고 있는데, 허용된 도구가 Gemini뿐이라 사람들이 무작위로 무관해 보이는 응답 때문에 혼란스러워하고 있음
종종 다른 언어로 나오기도 함
응답을 하긴 할 때 얘기고, 아니면 그냥 1099 오류 코드만 돌려줌
- 지난 몇 주 동안 UI로 접근한 Gemini에서도 문제가 있었음. 며칠 뒤 다른 맥락에서도 같은 걸 보고 있다니 우려됨
-
Claude Code 팀의 Thariq임
자세한 보고에 감사하고, 이건 환각이라고 확신하지만 당연히 이런 보고를 진지하게 받아들이며 팀에서 조사 중임. 뭔가 나오면 다시 알리겠음- 주말인데도 고생해줘서 고맙고, 사용자 입장에서 제안하자면 Claude Code의 메모리 관리를 더 쉽게 할 수 있으면 좋겠음
지금은.claude폴더에 들어가 프로젝트 폴더 이름 같은 걸 바꾸면 가끔 메모리를 제대로 불러오지 못함. 가져오기/내보내기를 더 쉽게 할 수 있으면 좋겠음
- 주말인데도 고생해줘서 고맙고, 사용자 입장에서 제안하자면 Claude Code의 메모리 관리를 더 쉽게 할 수 있으면 좋겠음
-
선택지는 둘 중 하나인가? 이 놀라운 기술이 Minecraft를 무작위로 꺼낼 정도로 멍청하거나, 아니면 중대한 보안 문제가 있거나?
- 그 사람 문맥 안에
minecraft.py가 있었고, 세션 문맥도 아주 길었음
긴 문맥의 LLM 세션이 가끔 옆길로 새는 건 드문 일이 아님. 모든 LLM 상호작용에서 절대적 완벽함을 기대하는 사람들은 이걸 기술 전체에 대한 총체적 탄핵으로 보지만, 매일 쓰는 사람들은 출력이 부분적으로 확률적이라는 걸 받아들이고 모델이 제공하더라도 지나치게 긴 문맥은 피하는 법을 배움
전략적으로 압축하거나 다음 단계를 요약해 새 세션으로 넘기는 편이 좋음. 하위 세션을 쓰면 요약과 데이터 전달에 토큰이 더 들지만 문맥 오염을 줄일 수도 있음 - 주말이니까 의인화해도 됨
뛰어난 엔지니어들 중에도 갑자기 Minecraft 얘기를 꺼내는 사람들이 있었고, 요즘이라면 Factorio일 가능성이 더 높아서 말이 됨 - 원작성자에게
minecraft.py파일이 있긴 했음. 그러니 완전히 100% 무작위는 아님
- 그 사람 문맥 안에
-
결제/구독 문제가 있는데 할 수 있는 일도, 도움받을 방법도 없음
지원 챗봇은 그냥 막아버리고, 이메일도 챗봇이 처리함. 같은 챗봇인지도 확실치 않음. 완전히 막다른 길이었고, 결국 은행인 신용카드 발급사에 연락했더니 직원이 카드를 분실 처리하고 재발급받는 편이 낫다고 해서 그렇게 했음. 효과가 있길 바람
이런 기업들에게 이렇게 많은 검증되지 않은 권한을 넘겨주는 걸 언제부터 세상이 괜찮다고 판단했는지 이해한 적이 없음. 다만 형태만 달랐을 뿐 늘 그래 왔음 -
GitHub 글의 첫 댓글로 claudeslop 답변이 달리고, 그에 대한 반응이 이어지는 게 흥미로움
-
Fable 5가 순서대로 거절한 것들: “돼지 앞다리살이 있는데 홍소육 레시피”, “Claude Code에 줄 MCP 패턴 프레임워크 작성”, “c. elegans의 운동 생체역학 설명”
마지막은 취미 프로젝트와 관련돼 있어서 이해는 함. 서비스가 내려갔으니 작동하는 Fable 5 하루를 더 받을 수 있는 건가?- 관련성은 잘 모르겠지만, 보통 누군가 저렇게 나쁜 분류기를 만들었다면 해고됐을 것임
Anthropic은 소비자에게 쓰레기를 떠넘길 수 있는 독점력이 있다고 생각하는 듯하지만, 그렇지 않다고 봄 - 이게 무슨 관련이 있는지 모르겠음. 누구한테 말하는 건가? 여긴 Hacker News지 Anthropic 지원창구가 아님
- 사람들이 이 최전선 모델을 요리에 쓰고 있다는 게 인상적임
- 안전 필터가 거절한 건지, 모델이 내려간 건지 궁금함
- 부모에게서 파란 눈을 물려받는 원리를 물었더니 안전 문제로 Opus로 강등시켰음
- 관련성은 잘 모르겠지만, 보통 누군가 저렇게 나쁜 분류기를 만들었다면 해고됐을 것임
-
LLM에는 고객 데이터를 분리하는 걸 일반적인 SaaS보다 더 어렵게 만드는 특별한 점이 있나?
- 있음
피하고 싶을 때마다 복제하기엔 너무 크고 비싼 공유 상태인 문맥 캐시가 있고, 성능에는 메모리 지역성이 매우 중요하며, 하드웨어는 극도로 과다 할당돼 있고, 비용도 매우 비쌈
이런 요인 때문에 대부분 워크로드와 고객에 대해 하드웨어 격리나 전통적인 메모리 공간 격리, 즉 하이퍼바이저/VM/하드웨어 보조 가상화가 사실상 출발점이 되기 어렵고, 모든 격리가 소프트웨어 계층으로 밀려남. 이 자체만으로도 범용 SaaS보다 훨씬 어려움
게다가 시스템이 도는 도구, 프레임워크, GPU 하드웨어는 작업 격리를 염두에 두고 설계되지 않았고, 이런 격리를 만드는 일은 x86 CPU 하드웨어 공유보다도 더 새로운 연구 분야에 가까움. x86 쪽도 지난 30년 넘게 엄청난 노력이 필요했음
사용량/민감도 대비 성숙도 비율도 전반적으로 좋지 않음. 이 회사들은 젊고, 빠르게 개발하며, 엄청난 고객 워크로드 요구 속에서 거대한 납품 압박을 받음
원글이 실제 문제인지 아닌지는 모르겠지만, 전반적으로 이런 사례가 더 많지 않은 게 오히려 놀라움. 이 관점에서는 정말 카드로 쌓은 집에 가까움 - 구현을 바이브 코딩한 것 같음
Codex에서는 큰 문제를 못 겪었지만, Claude Code는 거의 매일 큰 문제가 보고되는 듯함
그리고 코드 읽거나 들여다보지 않는다고 가장 자랑하는 쪽이기도 함
LLM은 매우 유능하지만, 그들이 홍보하는 수준에는 한참 못 미침
이제는 바이브 코딩을 넘어 LLM이 루프 안에서 스스로를 바이브 코딩하게 하는 단계까지 왔음 - 추측하자면, GPU에서 어떤 일이든 다중 테넌트 방식으로 하는 건 메모리 안전 도구가 부족해서 대부분의 SaaS보다 난이도가 높을 것 같음
다중 테넌트 SaaS 시스템도 만들어봤고 오래전에 GPU 프로그래밍도 조금 해봤지만, 두 분야를 결합해 본 적은 없음 - 고객 간 프리픽스 캐시(KV 캐시) 를 공유하지 않으면 계산 효율이 끔찍하게 나쁠 것임
- 있음