설명 문서 또는 예시 애플리케이션에서 가짜 시크릿을 제공하는 경우를 포함해 리포지토리에 시크릿을 커밋해야 하는 경우가 있습니다. 이러한 시나리오에서는 경고를 신속하게 해제하고 그 이유를 문서로 기록할 수 있어야 합니다. 하지만 대규모로 가양성 경고가 생성되지 않도록 디렉터리를 완전히 무시하고 싶을 때도 있습니다. 예를 들어, 여러 통합이 포함된 모놀리식 애플리케이션이 있고, 그 안에 더미 키 파일이 포함되어 있어 분류해야 할 다수의 오탐 경고가 발생할 수 있습니다.
secret_scanning.yml 파일은 특정 디렉터리에서 발견된 경고를 secret scanning에서 자동으로 닫고 푸시 보호에 포함된 이러한 디렉터리를 제외하도록 구성할 수 있습니다. 이러한 경고는 “구성에서 무시됨”으로 닫힙니다.
사용자에 대한 비밀 검사 경고에서 디렉터리 제외
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
파일 목록 위에서 파일 추가 드롭다운 메뉴를 선택한 다음, 새 파일 생성을 클릭합니다.
또는 왼쪽의 파일 트리 보기에서 을(를) 클릭합니다.

-
파일명 필드에 ".github/secret_scanning.yml"을 입력합니다.
-
새 파일 편집에서
paths-ignore:를 입력하고 secret scanning에서 제외할 경로를 입력합니다.YAML paths-ignore: - "docs/**"
paths-ignore: - "docs/**"이는
docs디렉터리의 모든 항목에 대한 경고를 자동으로 닫도록 secret scanning에게 알립니다. 사용자 고유의 리포지토리에서 제외할 파일 및 폴더를 추가하기 위해 이 예시 파일을 템플릿으로 사용할 수 있습니다.경로 필터링을 위해
*등 특수 문자를 사용할 수 있습니다. 필터 패턴에 대한 자세한 내용은 “GitHub Actions용 워크플로 구문”을 참조하세요.YAML paths-ignore: - "foo/bar/*.js"
paths-ignore: - "foo/bar/*.js"참고 항목
paths-ignore에 1,000개가 넘는 항목이 있는 경우 secret scanning은 검사에서 처음 1,000개의 디렉터리만 제외합니다.secret_scanning.yml크기가 1 MB를 초과할 경우 secret scanning은 전체 파일을 무시합니다.
secret scanning에서 폴더가 제외되었는지 확인하기
- 제외시킨 디렉터리 내 파일을 시크릿 스캐닝에서 열기
- 사전에 무효성을 검사한 시크릿 또는 테스트 시크릿을 붙여넣습니다.
- 변경 내용을 커밋합니다.
- GitHub에서 리포지토리의 기본 페이지로 이동합니다.
- 리포지토리 이름에서 Security를 클릭합니다. "Security" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음, Security를 클릭합니다.
방금 사용자가 파일에 추가한 스크릿에 대해 새로 열린 경고가 없어야 합니다.

모범 사례
모범 사례는 다음을 포함해야 합니다.
- 제외를 정의할 때 제외된 디렉터리 수를 최소화하고 최대한 정밀도 유지하기. 최대한 지침이 명확하고 의도한 대로 제외 동작이 작동합니다.
secret_scanning.yml파일의 주석에서 특정 파일 또는 폴더가 제외된 이유 설명하기. 주석을 사용 시 일반 코드처럼 사용자의 의도가 명확해지기 대문에 다른 사용자가 원하는 동작을 쉽게 이해할 수 있습니다.- 주기적으로
secret_scanning.yml파일 검토하기. 일부 제외는 시간이 지나면서 더 이상 적용되지 않으므로 파일을 최신 상태로 깨끗하게 유지하는 것이 좋습니다. 위에서 설명한 바와 같이 주석이 유용하기도 합니다. - 제외시킨 파일 및 폴더와 그 이유를 보안팀에 고지하기. 원활한 커뮤니케이션은 모든 사용자가 같은 생각을 하고 특정 폴더나 파일이 제외된 이유를 이해시키는 데에 매우 중요합니다.