보안 업체 Apiiro의 연구진이 GitHub 공개 저장소에서 Claude Code의 로컬 설정 파일, Git 기록, 에이전트 대화 기록을 조사한 결과, 1,994개 저장소와 63개 조직에 걸쳐 실제 자격 증명 2,539건을 찾아냈다. 유출된 항목에는 Azure 데이터베이스 비밀번호, Square 운영 환경 토큰, SSH root 로그인 정보, 그리고 의료 기록 데이터베이스의 소유자 비밀번호까지 포함돼 있었다.
문제의 출발점은 많은 개발자가 매일 누르는 버튼이었다.

'다시 묻지 않기'가 파일에 남기는 것
Claude Code는 셸 명령을 실행하기 전에 사용자에게 허가를 요청한다. 사용자가 '예, 다시 묻지 않기'를 선택하면 해당 규칙이 프로젝트 디렉터리의 .claude/settings.local.json에 저장되고, 이후 같은 종류의 명령은 확인 창 없이 실행된다. 문제는 저장되는 내용이 명령 원문인 경우가 많다는 점이다. 그 명령에 데이터베이스 연결 문자열, API 토큰, 키가 직접 들어 있으면 이 값들도 그대로 파일에 기록된다.
Anthropic 문서에 따르면 Claude Code는 이 파일을 만들 때 Git이 무시하도록 설정한다. 그러나 Apiiro의 집계로는 이 방어선이 여러 상황에서 작동하지 않았다. 프로젝트를 다른 컴퓨터에 복제했거나, 일반 폴더를 나중에 Git 저장소로 초기화했거나, 파일을 강제로 버전 관리에 추가한 경우 settings.local.json이 함께 푸시될 수 있다.
Apiiro가 제시한 수치는 다음과 같다.
- 공개 GitHub에는
settings.local.json이 104,185개 있으며, 103,617개 저장소에 분포한다. - 이 중 1,122개(약 1.1%)에 실제 비밀 정보가 들어 있었고, 중복을 제거하면 1,379건이다.
- 추적이 가능했던 1,105개 저장소 가운데 539곳에서, Claude가 공동 작성자로 서명하고 이 파일을 수정한 커밋이 확인됐다.
파일이 클수록 위험도 높아진다. 8KB를 넘는 파일에서는 약 10개 중 1개가 진짜 키를 품고 있었고, 500바이트 미만에서는 500개 중 1개가 채 되지 않았다. 허가 규칙은 하나씩 쌓이기 때문에, 사용자가 '다시 묻지 않기'를 오래 눌러 왔을수록 파일 안에 쌓이는 정보도 늘어난다.
Apiiro는 이 자격 증명이 현재도 유효한지는 테스트하지 않았다. 저장소 소유자가 파일을 삭제하더라도 Git 기록과 기존 포크에는 키가 남아 있을 수 있다.
이 문제는 오래전부터 보고돼 있었다
2025년 8월 11일에 이미 한 사용자가 Claude Code 이슈 트래커에, 승인된 명령이 그 안의 API 키와 토큰까지 한 글자도 바뀌지 않은 채 settings.local.json에 저장된다고 보고했다. 이 보고는 60일간 활동이 없다는 이유로 자동 종료됐고 수정되지 않았다.
1년여가 지난 지금, 같은 메커니즘이 체계적인 스캔으로 드러났다. Claude Code 책임자인 Boris Cherny는 Hacker News에서 설정 파일은 원래 버전 관리에 넣으면 안 되는 것이라며, 팀이 예방책을 검토 중이고 시크릿 스캔을 Claude Code에 직접 내장하는 방안도 고려하고 있다고 답했다. 그전까지는 사용자가 직접 시크릿 스캔 도구를 돌려 정리할 것을 권했다. 수정 버전이 언제 나올지 Anthropic은 아직 일정을 밝히지 않았다.
이달 들어 Claude Code가 로컬 데이터 처리 문제로 지적받은 것도 이번이 처음이 아니다. 이달 초에는 일부 네트워크 요청에 사용자 이메일이 포함된다는 사실이 지적됐고, 당시에도 먼저 완화 조치가 나온 뒤 정식 버전이 뒤따랐다. 두 사건의 공통점은 에이전트 도구가 사용자를 덜 방해하려고 정보를 디스크에 저장하거나 외부로 보내며, 개발자가 무엇이 기록되는지 알아채기 어렵다는 점이다.
개발자가 지금 할 수 있는 일
Claude Code를 써 왔다면 먼저 로컬과 원격 저장소에서 .claude/settings.local.json과 .claude/settings.json을 검색해, 평문 자격 증명이 든 명령이 있는지 확인하는 것이 좋다. 유출이 확인된 키는 파일만 지워서는 안 되고 폐기한 뒤 재발급해야 한다.
더 안전한 습관은 키를 명령줄 인자에 쓰지 않고 환경 변수나 시크릿 관리 도구의 참조로 바꾸는 것이다. 여기에 GitHub의 시크릿 스캔이나 커밋 전 검사를 켜 두면 이런 파일이 푸시되기 전에 걸러낼 수 있다.
참고 출처: IT Home, Apiiro 연구 보고서, CocoLoop, Ars Technica, The Hacker News. 설정 파일 수, 비밀 정보 포함 파일 비율, 자격 증명 총수, 영향받은 조직 수를 교차 확인함.