본문으로 건너뛰기
NEW · Blast Radius: 유출된 API 키 대응 플레이북 (AWS·GCP·Azure)
블로그로 돌아가기

Git 푸시 전후의 시크릿 검사와 대응

푸시 전에 발견한 키는 변경 내용에서 제거할 수 있습니다. 이미 Git 기록에 남았다면 커밋을 지워도 발급처에서 키를 폐기하거나 교체해야 합니다.

김동현
작성자
김동현
발행
수정
7 분296 어절
Share:
푸시 전에는 키를 변경 내용에서 제거하고 푸시 후에는 발급처에서 폐기·교체하는 대응 비교

“Shift left”는 변경 내용이 공유 저장소에 도달하기 전에 검사한다는 뜻입니다. 한 가지 노출 경로를 줄일 수 있지만 키가 다른 곳에 복사되지 않았다는 증거는 아닙니다. 실무에서 먼저 구분할 것은 키를 푸시 전에 발견했는지, 푸시 후에 발견했는지입니다.

푸시 전: Git 기록에 남기지 않기

Gitleaks 같은 로컬 검사기로 푸시할 변경 내용을 확인하거나, 저장소 제공자의 푸시 보호를 지원 패턴에 맞춰 켜세요. 검사한 파일·커밋·패턴을 확인해야 합니다. 제외한 파일, 지원하지 않는 패턴, 허용된 우회가 있으면 키가 변경 내용에 남을 수 있습니다.

검사에서 키가 발견되면 변경 내용에서 값을 제거하고 프로젝트에서 승인한 시크릿 전달 방식으로 바꾸세요. 그다음 다시 검사합니다. 발견 내용을 설명하려고 키 값을 PR 댓글이나 지원 티켓에 붙여 넣지 마세요.

푸시 후: 노출된 키로 취급하기

공유·공개 저장소에 커밋한 키는 최신 파일을 고쳐도 기록, 포크, 클론과 다른 복사본에 남을 수 있습니다. 발급처와 영향을 받는 계정을 확인한 뒤 그곳에서 키를 폐기하거나 교체하세요. 의존 서비스를 테스트하고 관련 활동 기록도 살펴봅니다. GitHub는 기록을 다시 쓰기 전에 키를 폐기하거나 교체하라고 권고합니다. 기록 재작성에는 운영 부담이 있고 모든 복사본을 지울 수도 없습니다.

시크릿 값 자체를 사고 기록에 저장하지 말고 발견 위치, 담당자, 발급처 조치와 알려진 복사본을 기록하세요. 키를 통제한 뒤 접근 가능한 복사본을 정리합니다. 저장소를 깨끗이 정리했다는 사실만으로 이전 키가 작동을 멈춘 것은 아닙니다.

Cremit이 확인하는 범위

Cremit은 지원하는 연결 소스에서 자격증명 패턴을 찾습니다. 지원하는 유형은 발급처에서 유효성을 확인할 수 있고, AWS·GCP 연동은 접근 권한 정보를 더할 수 있습니다. 설정한 GitHub App은 PR에 발견 내용을 보고할 수 있습니다. 검사 범위는 연결 소스, 권한과 설정에 따라 달라집니다. Cremit은 로컬 pre-commit 훅이 아니며 저장소 연결만으로 모든 푸시 보호나 CI 검사가 실행되는 것도 아닙니다.

팀에서는 실제 검사한 소스와 변경 범위, 발견한 활성 키가 폐기될 때까지 걸린 시간, 남은 복사본과 의존 서비스를 기록하세요. 검사 통과를 자격증명이 없다는 증거로 삼지 마세요.

관련 자료

CI/CD 파이프라인: 코드·빌드 로그·게시 이미지

GitHub: 저장소에서 민감 정보 제거

GitHub: 푸시 보호

Gitleaks: 로컬·CI 검사

AWS: IAM 액세스 키 업데이트

네트워크에 공유해보세요LinkedInX

이어서 읽기

다음 글을 메일로 받아보세요

Cremit의 월간 자격증명 보안 브리프. 한 통에 핵심만 담습니다.

이메일을 판매하거나 외부에 넘기지 않으며, 언제든 수신거부할 수 있습니다.