배경

발표 후 pm님 피드백: 시크릿(자격증명 등)이 코드나 로그에 섞이는 걸 사람이 눈으로 검색해서 확인하는 대신, push/commit 시점에 자동으로 감지·차단하는 자동화를 도입할 것.

핵심 개념: Secret Scanning

커밋·push되는 순간 시크릿 패턴(AWS 키 등)을 자동 탐지해서, 발견 시 커밋/push/PR을 막는 방식. 적용 시점에 따라 3단계로 나뉨.

단계 시점 강제성
① Pre-commit hook 로컬에서 커밋 직전 낮음 (개발자별 설치 필요)
② Push Protection GitHub 서버로 push 직전 높음 (조직 전체 강제)
③ CI 파이프라인 스캔 push 이후 PR 단계 높음 (PR 자체를 막음)

구현 방법 3가지

1. GitHub Secret Scanning + Push Protection (가장 쉬움)

2. gitleaks + pre-commit hook (로컬)

gitleaks란?

pip install pre-commit