본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 27. 21:53

Claude Code의 대화 기록이 다른 PC에 멋대로 나타났다——유출? 어디에 저장되고, 무엇이 동기화되며, 어떻게 중단하는가

요약

Claude Code의 대화 기록이 다른 PC에서 보이는 현상의 원인을 분석하고 해결 방법을 제시합니다. CLI 로컬 기록과 클라우드 기반 기록의 차이점을 설명하며, 파일 동기화 도구에 의한 의도치 않은 데이터 공유 가능성을 경고합니다.

핵심 포인트

  • CLI 대화 기록은 기본적으로 로컬 디스크(~/.claude)에만 저장됨
  • Web 버전 및 데스크톱 앱의 기록은 계정 단위로 서버 동기화됨
  • 기록 유출 의심 시 ~/.claude 디렉토리의 클라우드 동기화 여부 확인 필요
  • Memory 기능은 디바이스를 넘어 사용자 스타일을 기억하는 요약 정보임

Claude Code를 사용하던 중, 다른 머신에서 동일한 Anthropic 계정으로 로그인했더니 한쪽 PC에서 진행하던 대화 기록이 과거 내역까지 통째로 상대방 화면에 나타났다. 이것은 정보가 유출되고 있는 것인가——. 실제로 이 불안 요소는 GitHub의 Issue로 보고되어 있다(#71794, security 라벨 포함).

먼저 결론부터 말한다. Claude Code의 세계에는 "두 가지 서로 다른 기록"이 있으며, 양자는 동기화 동작이 완전히 다르다. 이 두 가지를 구분하면 현재 일어나고 있는 일의 대부분을 설명할 수 있다. 진짜 버그인지, 설정대로의 동작인지, 아니면 자신의 환경에 있는 백업이나 동기화 도구가 범인인지도 스스로 확인할 수 있다.

터미널에서 claude를 실행하여 사용하는, 이른바 CLI의 대화 기록은 해당 PC의 디스크 상에 저장된다. 위치는 정해져 있다.

  • 각 프로젝트의 대화 본체:
    ~/.claude/projects/<프로젝트 해시>/*.jsonl

  • 횡단 인덱스:
    ~/.claude/history.jsonl

이 부분이 중요한 점인데, CLI 자체는 이 파일들을 클라우드로 업로드하거나 다른 머신으로 동기화하지 않는다. Anthropic 순정 클라우드 동기화는 현재 구현되어 있지 않으며, 기능 요청 사항으로 남아 있다(#7805). 그렇기 때문에 커뮤니티가 rsync나 git을 사용한 동기화 도구를 직접 만들고 있다. 역설적으로 말하면, 순수한 터미널의 claude 세션은 그대로 두면 해당 머신 안에만 머물러야 한다.

반면, 다음 측면은 계정 단위로 서버 측에 대화를 저장한다.

  • claude.ai의 Web 버전
  • 데스크톱 앱 / Cowork
  • Remote Control

이것들은 Anthropic 계정에 묶여 기록되므로, 로그인한 모든 디바이스에 대화가 나타나는 것은 설계대로의 동작이다. 여기서 만든 대화라면 다른 PC에 나타나도 이상한 것이 아니다.

여기에 더해, Memory라는 기능이 있다. 2026년 3월부터 모든 사용자에게 기본적으로 On 되어 있으며, 취향이나 진행 중인 프로젝트, 작업 스타일을 대화나 디바이스를 넘어 기억한다. 다만 이것은 요약된 기억이지, 대화 전문 그 자체는 아니다.

UI에서 "기록이 나타났다"며 놀라기 전에, Device B(기록이 나타난 쪽의 머신)에서 UI를 열지 않고 파일 시스템을 직접 확인하는 것이 가장 빠르다.

ls -1 ~/.claude/projects/
wc -l ~/.claude/history.jsonl 2>/dev/null
  • 만약 Device A의 대화가 .jsonl 파일로서 Device B의 디스크에 물리적으로 존재한다면, 무언가가 파일을 복사하고 있는 것이다. 동기화 도구, 백업 도구, dotfiles 동기화, 혹은 ~/.claude가 공유 스토리지(OneDrive / iCloud Drive / Dropbox) 아래에 놓여 있는 점 등을 우선 의심해 봐야 한다. Claude Code 본체가 아니라, 자신의 환경 측 경로의 문제다.
  • 만약 파일이 디스크에 존재하지 않는데 UI에는 보인다면, 그것은 CLI의 로컬 기록이 아니라 클라우드 측이 계정의 서버 측 기록을 그려내고 있는 것이다. 설계대로의 동작이다.

"CLI인데 동기화되었다"고 느끼는 사례의 대부분은 ~/.claude 디렉토리 자체가 동기화 대상에 포함되어 있는 것이 원인이다. 다음 명령으로 확인할 수 있다.

# ~/.claude가 실체인지, 심볼릭 링크로 다른 장소(클라우드 동기화 폴더)를 가리키고 있는지 확인
ls -ld ~/.claude
readlink -f ~/.claude

~/.claude가 클라우드 동기화 폴더 아래에 있거나, 그곳으로의 링크가 되어 있는 경우, Claude Code는 아무것도 하지 않아도 동기화 도구가 뒤에서 파일을 복사하여 다른 머신으로 배포한다. Windows의 OneDrive가 사용자 폴더 전체를 포함하고 있는 구성에서 특히 발생하기 쉽다.

  • Memory(메모리) 중단하기: claude.ai → 설정 → Memory 토글을 끕니다. 이후의 대화는 매번 백지 상태에서 시작됩니다. -
    학습에 사용되지 않게 하기: 설정 → 개인정보 보호(Privacy)에서 대화를 향후 모델 학습에 사용하는 설정을 끕니다. 옵트아웃(Opt-out) 상태라면 새로운 대화와 코딩 세션은 학습에 사용되지 않습니다. -
    일시적으로 남기지 않기: claude.ai의 Incognito(유령 아이콘)로 시작한 대화는 계정 설정이 학습을 허용하고 있더라도 학습에 사용되지 않습니다. -
    기기별로 분리하고 싶을 때: 작업을 터미널의 CLI로 집중시키고, 동일한 세션을 Web / 데스크톱 / Remote에서 공유하지 않도록 합니다. 그리고 위에서 살펴본 것처럼 ~/.claude 디렉토리가 클라우드 동기화 폴더 외부에 있는지 확인합니다.

서버 측에서 Anthropic이 실제로 어떻게 처리하고 있는지는 이용자의 관점에서는 보이지 않습니다. 만약 순수한 터미널의 CLI 세션이 동기화 도구도, 백업도, 공유 스토리지도 전혀 관여하지 않은 상태에서 정말로 다른 디바이스로 전체 내용이 동기화되었다면, 그것은 security(보안) 라벨에 걸맞은 진짜 버그입니다. 그럴 경우에는 각 디바이스에서 어떤 클라이언트(터미널의 claude인지, 데스크톱 / Cowork인지, claude.ai의 Web인지)를 사용했는지, 그리고 Device B의 디스크에 .jsonl 파일이 실제로 존재하는지를 첨부하여 보고하면 원인 파악이 한결 빨라질 것입니다.

"유출되었을지도 모른다"고 느껴진다면, 우선 당황해서 삭제하기 전에 위의 lsreadlink를 통해 지금 내 손안에서 무엇이 일어나고 있는지를 먼저 확인하시기 바랍니다. 데이터 관련 사고는 짐작만으로 움직이다가 2차 피해로 이어지기 쉽습니다. 사실을 하나씩 확인하는 것이 결국 가장 빠른 방법입니다.

참고(1차 정보):

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0