stamper
Git보안민감정보트러블슈팅

실수로 커밋한 민감정보에 대응하기

개발자김철수22시간 전조회 0추천 0
변수 입력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

아직 댓글이 없습니다.