Git보안민감정보트러블슈팅
실수로 커밋한 민감정보에 대응하기
변수 입력1개
언제 사용하나
API 키·비밀번호 등을 실수로 커밋(또는 push)했을 때 피해를 최소화할 때.
실행 전 확인
- 가장 먼저 해당 비밀값을 폐기·교체(rotate)한다. 이력에서 지워도 이미 노출된 값은 무효화해야 안전하다.
대응 순서
# 1) 아직 push 안 했고 마지막 커밋에만 있다면: 파일 추적 해제 후 커밋 수정
git rm --cached {{SECRET_FILE}}
echo "{{SECRET_FILE}}" >> .gitignore
git commit --amend
# 2) 이미 push했거나 여러 커밋에 퍼졌다면: 이력에서 제거 후 재작성
# (팀 합의 필요, 강제 push 동반 - 신중히)
# 권장 도구: git filter-repo
git filter-repo --path {{SECRET_FILE}} --invert-paths
# 3) 남아있는 참조 정리 및 협업자 공지placeholder 설명
{{SECRET_FILE}}: 비밀값이 담긴 파일
입력 예시
.env를 실수로 커밋 → 키 교체 후 .gitignore 추가
기대 결과
비밀값이 무효화되고 이력에서 정리되며 재발이 방지된다.
검증 방법
git log -p -- {{SECRET_FILE}}로 이력에 값이 남았는지 확인한다.
주의사항과 흔한 실수
- 이력만 지우고 키를 그대로 두면 이미 노출된 값이 악용될 수 있다(교체가 최우선).
- 이력 재작성과 강제 push는 협업자와 반드시 합의한다.
관련 문서
댓글 0개
아직 댓글이 없습니다.
