🍚 깃밥 PRO가 열렸어요 — 월 3,900원 · 알아보기 →
테크 반찬2026년 11월 10일· Tide 제공· 조회 1

Claude Code 설정 파일이 GitHub에 비밀번호를 유출하는 이유는?

  • 공개 GitHub에 올라간 Claude Code 설정 파일 10만 건 이상 발견
  • 이 중 약 1,100건이 63개 조직의 실제 비밀정보 포함
  • 2025년 8월 버그 제보됐지만 60일 뒤 조치 없이 종료

AI 보안 업체 Apiiro가 공개 GitHub 저장소에서 Claude Code의 로컬 설정 파일을 대량으로 발견했고, 그 안에 데이터베이스 비밀번호와 API 토큰, 루트 로그인 정보가 그대로 담겨 있었습니다. 문제의 핵심은 사용자가 셸 명령을 승인할 때 선택하는 옵션 하나가 민감한 정보까지 파일에 기록해버린다는 점입니다.

Claude Code 설정 파일, 왜 비밀번호까지 저장됐나

Claude Code가 실수로 GitHub 전역에서 비밀을 노출 중
Ars Technica

핵심: Claude Code의 셸 명령 자동 승인 기능이 민감한 명령어를 로컬 설정 파일에 그대로 저장해, 수천 건의 비밀정보가 공개 GitHub 저장소에 노출됐습니다.

Claude Code는 앤트로픽이 만든 AI 코딩 에이전트로, 사용자를 대신해 터미널에서 셸 명령을 직접 실행할 수 있는 도구입니다. 사용자가 특정 명령 실행을 승인할 때 "Yes, and don't ask again"(예, 다시 묻지 마세요)을 선택하면 그 선택은 규칙 형태로 사용자 컴퓨터의 로컬 파일인 ".claude/settings.local.json"에 저장됩니다. 이 규칙은 패턴으로 코드화되는 경우도 있지만, 명령어 자체는 그 안에 포함된 민감한 정보까지 그대로 파일에 기록되는 경우가 많다고 Apiiro는 설명했습니다.

이 설정 파일이 사용자의 로컬 컴퓨터에만 남아 있다면 큰 문제는 아닙니다. 앤트로픽도 Claude Code 문서에서 이 설정 파일이 개발자의 전역(global) .gitignore 목록에 추가돼 공개 공유를 막는다고 안내하고 있습니다. 문제는 이 전역 .gitignore 설정이 저장소(repo) 단위에는 반영되지 않는다는 점입니다. 저장소가 다른 머신으로 클론되거나, 어떤 폴더가 나중에 저장소로 바뀌는 경우 이 설정 파일이 실수로 업로드될 수 있습니다. Apiiro는 많은 경우 Claude Code 자체가 사용자의 입력 없이도 이 설정 파일의 변경 사항을 커밋한다고 덧붙였습니다.

Apiiro 연구진은 공개 GitHub 저장소에 Claude Code의 로컬 설정 파일이 업로드된 사례를 10만 건 이상 발견했습니다. 이 중 공개 API 토큰, 데이터베이스 비밀번호, 개인 키 같은 실제 비밀정보를 담고 있던 사례는 63개 서로 다른 조직에서 나온 약 1,100건이었습니다. 이런 파일이 발견돼 저장소에서 제거되더라도, 누군가 그 전에 해당 프로젝트를 포크(fork)해뒀다면 비밀정보는 포크된 저장소 안에 그대로 남을 수 있습니다.

100,000+공개 GitHub에 업로드된 Claude Code 설정 파일 건수
1,100건실제 비밀정보를 포함한 사례 수
63개비밀정보가 발견된 조직 수
2025년 8월이 문제가 버그 리포트로 처음 제보된 시점

이 보안 이슈는 최근 들어 주목받고 있지만 사실 새로운 문제는 아닙니다. 2025년 8월에 올라온 Claude Code 버그 리포트에서 이미 같은 문제가 지적된 바 있습니다. 다른 버그 리포트들에서도 민감한 설정 파일이 사용자의 .gitignore에 추가되지 않는 경우가 있거나, Claude Code가 민감한 명령을 git 공유로부터 보호되지 않는 다른 파일에 추가하는 경우가 있다는 점이 제기됐습니다. 그러나 이 버그 리포트들은 모두 60일간 별다른 조치 없이 방치된 뒤 종료 처리됐습니다. 주말 사이 해커뉴스(Hacker News)의 댓글 스레드에서 Claude Code 담당자인 보리스 체르니는 이 문제를 막기 위한 방안을 검토하고 있다고 밝혔습니다.

출처: Ars Technica | 원문 보기 ↗

이게 나에게 의미하는 것

Claude Code를 사용하는 개발자라면 자신의 공개 저장소에 ".claude/settings.local.json" 파일이 커밋돼 있는지 먼저 확인할 필요가 있습니다. 과거에 "다시 묻지 않기" 옵션으로 셸 명령을 승인한 적이 있다면 그 명령 안에 비밀번호나 토큰이 포함돼 있었는지 점검하고, 노출됐을 가능성이 있는 자격 증명은 교체(rotate)하는 것이 안전합니다. 이미 저장소에서 해당 파일을 삭제했더라도 과거에 프로젝트가 포크된 적이 있다면 비밀정보가 포크본에 남아 있을 수 있다는 점도 함께 확인해야 합니다.

정리: 오늘의 시사점

이번 사례는 AI 코딩 에이전트의 "편의 기능"이 그대로 보안 구멍이 될 수 있음을 보여줍니다. 전역 .gitignore만으로는 저장소 단위의 실수를 막지 못했고, 같은 문제가 2025년 8월부터 제보됐는데도 60일 규칙에 따라 조치 없이 닫혀왔습니다. 앤트로픽이 재검토에 들어간 지금, 실질적인 변화는 설정 파일 자체의 저장 방식이 바뀌는지에 달려 있습니다.

이 반찬이 맛있었다면
🍚 이 글은 자매 서비스 Tide에서 차려온 반찬입니다.
출처: Ars Technica