Skip to main content

시크릿 스캐닝에서 폴더 및 파일 제외

리포지토리의 secret_scanning.yml 파일을 설정하여 특정 디렉터리 또는 파일에서 발견된 비밀 정보에 대한 경고를 자동으로 닫도록 secret scanning를 사용자 지정할 수 있습니다.

누가 이 기능을 사용할 수 있나요?

리포지토리 소유자, 조직 소유자, 보안 관리자 및 관리자 역할이 있는 사용자

설명 문서 또는 예시 애플리케이션에서 가짜 시크릿을 제공하는 경우를 포함해 리포지토리에 시크릿을 커밋해야 하는 경우가 있습니다. 이러한 시나리오에서는 경고를 신속하게 해제하고 그 이유를 문서로 기록할 수 있어야 합니다. 하지만 대규모로 가양성 경고가 생성되지 않도록 디렉터리를 완전히 무시하고 싶을 때도 있습니다. 예를 들어, 여러 통합이 포함된 모놀리식 애플리케이션이 있고, 그 안에 더미 키 파일이 포함되어 있어 분류해야 할 다수의 오탐 경고가 발생할 수 있습니다.

secret_scanning.yml 파일을 구성하여 secret scanning의 특정 디렉터리에서 발견된 경고를 자동으로 닫고, 이러한 디렉터리를 푸시 보호 대상에서 제외할 수 있습니다. 이러한 경고는 “구성에서 무시됨”으로 닫힙니다.

비밀 검사에서 디렉터리 제외하기

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 파일 목록 위에서 파일 추가 드롭다운 메뉴를 선택한 다음, 새 파일 생성을 클릭합니다.

    또는 왼쪽의 파일 트리 보기에서 을(를) 클릭합니다.

    위에 설명된 "파일 추가"와 "더하기 기호" 아이콘을 모두 주황색 윤곽선으로 강조 표시한 리포지토리 기본 페이지의 스크린샷

  3. 파일명 필드에 ".github/secret_scanning.yml"을 입력합니다.

  4. 새 파일 편집에서 secret scanning에서 제외할 경로 앞에 paths-ignore:를 입력합니다.

    YAML
    paths-ignore:
      - "docs/**"
    

    이렇게 하면 secret scanning에서 docs 디렉터리의 모든 항목에 대한 경고를 자동으로 닫도록 설정합니다. 사용자 고유의 리포지토리에서 제외할 파일 및 폴더를 추가하기 위해 이 예시 파일을 템플릿으로 사용할 수 있습니다.

    경로 필터링을 위해 * 등 특수 문자를 사용할 수 있습니다. 필터 패턴에 대한 자세한 내용은 “GitHub Actions용 워크플로 구문”을 참조하세요.

    YAML
    paths-ignore:
      - "foo/bar/*.js"
    

    참고

    • 1,000개 이상의 항목이 있는 paths-ignoresecret scanning 경우 검사에서 처음 1,000개의 디렉터리만 제외됩니다.
    • 1MB secret_scanning.yml 보다 큰 경우 secret scanning 전체 파일을 무시합니다.

폴더가 제외되었는지 확인 secret scanning

  1. 제외시킨 디렉터리 내 파일을 시크릿 스캐닝에서 열기

  2. 사전에 무효성을 검사한 시크릿 또는 테스트 시크릿을 붙여넣습니다.

  3. 변경 내용을 커밋합니다.

  4. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  5. 리포지토리 이름 아래에서 탭을 Security 클릭합니다. " Security" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 을 클릭합니다 Security. 파일에 방금 도입한 비밀에 대한 새로운 공개 경고가 없어야 합니다.

모범 사례

모범 사례는 다음을 포함해야 합니다.

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