코드 정화 체크리스트

공개 전 민감정보와 시크릿을 제거하는 점검 목록

    공개 전에 코드와 커밋 이력에서 민감정보를 제거합니다. 아래 항목을 점검하세요.

    점검 목록

    • 주석에 남은 작성자 이름과 이메일 제거
    • 내부 정보 제거: 파일 경로, 호스트 이름, 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" .