설명 문서 또는 예시 애플리케이션에서 가짜 시크릿을 제공하는 경우를 포함해 리포지토리에 시크릿을 커밋해야 하는 경우가 있습니다. 이러한 시나리오에서는 경고를 신속하게 해제하고 그 이유를 문서로 기록할 수 있어야 합니다. 하지만 대규모로 가양성 경고가 생성되지 않도록 디렉터리를 완전히 무시하고 싶을 때도 있습니다. 예를 들어, 여러 통합이 포함된 모놀리식 애플리케이션이 있고, 그 안에 더미 키 파일이 포함되어 있어 분류해야 할 다수의 오탐 경고가 발생할 수 있습니다.
`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파일 검토하기. 일부 제외는 시간이 지나면서 더 이상 적용되지 않으므로 파일을 최신 상태로 깨끗하게 유지하는 것이 좋습니다. 위에서 설명한 바와 같이 주석이 유용하기도 합니다. - 제외시킨 파일 및 폴더와 그 이유를 보안팀에 고지하기. 원활한 커뮤니케이션은 모든 사용자가 같은 생각을 하고 특정 폴더나 파일이 제외된 이유를 이해시키는 데에 매우 중요합니다.