피드로 돌아가기
Dev.toSecurity
원문 읽기
Git History 내 Secret Leak 방지를 위한 Rotate 및 Repository Scrubbing 전략
# Oops: I Leaked Secrets — GitGuardian warned me ...
AI 요약
Context
.gitignore 설정만으로 Secret 관리가 가능하다고 판단한 설계적 오판으로 인한 보안 사고 발생. Git의 Snapshot 기반 이력 관리 특성으로 인해 이미 Commit된 파일이 .gitignore 추가 이후에도 계속 추적되는 구조적 한계 직면.
Technical Solution
- Secret Compromised 상황을 가정한 즉각적인 API Key 및 Database Password Rotate 수행을 통한 피해 최소화
- git rm --cached 명령어를 통한 로컬 파일 유지 및 Git Index 내 Tracking 상태 제거
- BFG Repo-Cleaner 및 git filter-repo 도구를 활용한 Commit History 전체 재작성으로 물리적 데이터 완전 삭제
- Force Push를 통한 원격 저장소의 오염된 History 덮어쓰기로 Secret 노출 경로 차단
- AWS Secrets Manager 및 HashiCorp Vault 도입을 통한 환경 변수 기반 관리 방식에서 중앙 집중형 Secret Management 체계로 전환
실천 포인트
- 신규 프로젝트 시작 시 .gitignore 설정 및 추적 대상 확인 - Secret leak 발견 즉시 Rotate $\rightarrow$ Clean $\rightarrow$ Monitor 프로세스 가동 - 민감 정보 저장을 위한 전용 Secret Manager 도입 검토 - git filter-repo 등을 활용한 History scrubbing 절차 숙지