피드로 돌아가기
Dev.toSecurity
원문 읽기
3단계 계층형 스캔 구조를 통한 Secret 유출 원천 차단 및 탐지 체계 구축
Secret Scanning in CI: What Pre-Commit, Pull Request, and Main Branch Each Actually Catch
AI 요약
Context
단일 지점의 Secret 스캔 방식은 Hook 우회, 과거 이력 누락, 탐지 시점 지연으로 인한 보안 공백 발생. Git History에 이미 기록된 Secret은 단순 삭제로 해결되지 않는 구조적 한계 존재.
Technical Solution
- Pre-commit Hook을 통한 2초 이내의 즉각적인 로컬 피드백 제공으로 원격 저장소 유입 전 차단
- PR Diff 기반의 전용 Scan 워크플로우를 Merge Gate로 설정하여 코드 리뷰 단계의 강제적 검증 수행
- Scheduled Full-history Scan을 통한 기존 기술 부채 및 공급망 보안 취약점 상시 감사
- 단일 .gitleaks.toml 설정 파일 공유를 통한 로컬과 CI 간의 일관된 스캔 정책 유지
- Regex 기반 예외 처리가 아닌 Path 기반 Allowlist 설정을 통한 False Positive 최소화 및 탐지 정밀도 향상
- Secret 발견 시 History 삭제보다 Credential Rotation을 우선하는 사고 대응 프로세스 정립
실천 포인트
- Gitleaks를 활용한 Pre-commit, PR Gate, Scheduled Scan 3단계 파이프라인 구축 - .gitleaks.toml 내 Path 기반 Allowlist를 정의하여 테스트 픽스처 제외 - PR 단계에서 Secret 발견 시 Merge를 강제로 차단하는 Branch Protection 설정 - OIDC 기반의 단기 자격 증명을 도입하여 유출 시 Blast Radius 최소화