공개 전에 코드와 커밋 이력에서 민감정보를 제거합니다. 아래 항목을 점검하세요.
점검 목록
- 주석에 남은 작성자 이름과 이메일 제거
- 내부 정보 제거: 파일 경로, 호스트 이름, IP 주소
- 시크릿 제거: 비밀번호, 토큰, API 키, 인증서
- 내부 URL이나 사내 시스템 참조 제거
- 시크릿 스캐닝 도구로 자동 점검 완료
- 커밋 이력에 남은 민감정보 제거 완료
시크릿 스캐닝
수작업만으로는 빠뜨리기 쉽습니다. gitleaks 같은 시크릿 스캐닝 도구로 자동 점검을 수행하고, 가능하면 공개 전 파이프라인에 포함하세요.
$ gitleaks detect --source . --redact
커밋 이력 정화
민감정보가 한 번이라도 커밋됐다면, 현재 파일에서 지워도 이력에는 남습니다. git filter-repo로 이력에서 제거합니다.
$ git filter-repo --invert-paths --path secrets.env
이력 재작성은 모든 커밋 해시를 바꾸므로 기존 클론과 협업 이력에 영향을 줍니다. 공개용으로 새로 만든 저장소에서만 수행하는 것이 안전합니다.
점검에 쓸 검색 예시
특정 키워드가 남아 있는지 빠르게 훑을 때 씁니다.
$ grep -rIn -e "password" -e "token" -e "BEGIN PRIVATE KEY" .