Claude Code '다시 묻지 않기' 기능, GitHub 공개 저장소 2,539개 시크릿 노출

·2026.11.08 05:45

핵심 내용

Claude Code 설정 파일로 2,539개 시크릿이 GitHub에 노출됐다

1 / 5

자세히 보기

  • Apiiro가 1,994개의 공개 GitHub 저장소에서 2,539개의 고유한 실제 시크릿을 발견함, 대부분은 Claude Code의 .claude/settings.local.json 파일에 저장되어 있음
  • 시크릿이 포함된 명령어에 대해 개발자가 "Yes, and don't ask again"을 선택할 때 발생하며, Claude Code는 시크릿을 포함한 전체 명령어 문자열을 로컬 JSON 파일에 저장하고 이 파일이 버전 관리 시스템에 커밋되는 경우가 많음
  • 해당 파일의 공개된 104,185개 사본 중 1,122개가 실제 시크릿을 포함하고 있으며, 63개 조직에 영향을 미침. 여기에는 데이터베이스 벤더의 관리자 클라우드 키, 프로덕션 Azure Postgres 비밀번호, Square 프로덕션 토큰 등이 포함됨
  • gitleaks와 TruffleHog 같은 표준 시크릿 스캐너는 이러한 누출의 상당 부분을 놓침. 시크릿이 인식 가능한 키 형식이 아니라 명령줄에 내장된 비밀번호 형태이기 때문에 1,122개 파일 중 215개를 탐지하지 못함

노출 상세 정보

  • 가장 많이 노출된 자격 증명은 데이터베이스 비밀번호(379개)와 Supabase 서비스-롤 키(122개)이며, 그 뒤를 이어 Supabase 계정 토큰(103개)과 SSH 로그인 정보(43개)가 있음
  • 시크릿은 공유된 .claude/settings.json 파일(298건), 에이전트 채팅 기록(120개 파일), 핸드오프 노트(33개 파일)에서도 발견됨
  • 추적된 저장소 중 539개에서는 Claude Code가 공동 저자로 참여하여 시크릿이 포함된 파일을 직접 수정하는 커밋이 존재함

스캐너 한계

  • gitleaks는 시크릿이 포함된 1,122개 파일 중 564개를, TruffleHog는 643개를 탐지함
  • 두 스캐너 모두 215개 파일을 놓쳤으며, 이는 시크릿이 표준 API 키 형식이 아니라 명령어에 입력된 비밀번호(예: PGPASSWORD=, sshpass -p) 형태이기 때문임
  • Shai-Hulud npm 웜이 이전에 TruffleHog를 사용하여 자격 증명을 탈취한 사례가 있으며, 이는 git에 커밋되지 않았더라도 개발자 머신에 이러한 파일이 남아있는 위험성을 강조함

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.