Skip to main content

리포지토리에 대한 비밀 검사 구성

GitHub이(가) 리포지토리에서 유출된 비밀을 검색하고 경고를 생성하는 방법을 구성할 수 있습니다.

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

People with admin permissions to a repository can enable secret scanning for the repository.

파트너에 대한 비밀 검사 경고은(는) 공용 리포지토리 및 공용 npm 패키지에서 자동으로 실행되어 GitHub에서 비밀이 유출된 것을 서비스 공급자에게 알립니다.

사용자에 대한 비밀 검사 경고은(는) 사용자 소유 퍼블릭 리포지토리에서 무료로 제공됩니다. GitHub Enterprise Cloud를 사용하면서 GitHub Advanced Security 라이선스가 있는 조직은 또한 프라이빗 리포지토리와 내부 리포지토리에서 사용자에 대한 비밀 검사 경고을(를) 사용하도록 설정할 수 있습니다. 또한 사용자에 대한 비밀 검사 경고은(는) 을(를) 사용할 수 있으며GitHub Enterprise Cloud에 대한 사용자 소유 리포지토리의 베타Enterprise Managed Users입니다. 자세한 내용은 "비밀 검사 정보" 및 "GitHub Advanced Security 정보"을 참조하세요.

GitHub Advanced Security을(를) 무료로 사용해 보는 방법에 대한 자세한 내용은 "GitHub Advanced Security의 평가판 설정"을 참조하세요.

사용자에 대한 비밀 검사 경고 사용

모든 에 대한 사용자에 대한 비밀 검사 경고을(를) 사용할 수 있습니다. 조직이 소유한 리포지토리 및 사용자가 소유한 리포지토리 Enterprise Managed Users. 사용하도록 설정되면 secret scanning은 GitHub 리포지토리에 있는 모든 분기에서 전체 Git 기록의 비밀을 검색합니다. 또한 secret scanning은(는) 다음을 검사합니다.

  • 문제의 설명 및 주석
  • 과거 미결 및 종결 문제의 제목, 설명 및 주석. 과거 파트너 패턴이 검색되면 관련 파트너에게 알림이 전송됩니다.
  • 끌어오기 요청의 제목, 설명 및 주석
  • GitHub Discussions의 제목, 설명 및 메모
  • Wiki

이 추가 scan은 퍼블릭 리포지토리에 대해 무료입니다.

노트: 끌어오기 요청, GitHub Discussions, Wiki의 콘텐츠 검사는 현재 베타로 제공되며 변경 대상이 될 수 있습니다.

조직의 여러 리포지토리에 대해 secret scanning을(를) 동시에 사용하도록 설정할 수도 있습니다. 자세한 내용은 "조직 보안을 위한 빠른 시작"을(를) 참조하세요.

참고: 엔터프라이즈 계정이 소유한 조직의 경우 엔터프라이즈 소유자는 엔터프라이즈 수준에서 secret scanning을(를) 사용하도록 설정할 수도 있습니다. 자세한 내용은 "엔터프라이즈용 GitHub Advanced Security 기능 관리"을(를) 참조하세요.

리포지토리 관리자는 언제든지 리포지토리에 대해 secret scanning을(를) 사용하지 않도록 선택할 수 있습니다. 자세한 내용은 "리포지토리에 대한 보안 및 분석 설정 관리"을(를) 참조하세요.

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

  2. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.

  4. Advanced Security가 리포지토리에 대해 아직 사용하도록 설정되지 않은 경우 "GitHub Advanced Security" 오른쪽에 있는 사용을 클릭합니다.

  5. Advanced Security 활성화의 영향을 검토한 다음, 이 리포지토리에 대해 GitHub Advanced Security 사용을 클릭합니다.

  6. Advanced Security를 활성화하면 조직의 설정으로 인해 리포지토리에 대해 secret scanning이 자동으로 활성화될 수 있습니다. "Secret scanning"가 활성화 단추와 함께 표시되는 경우에도 활성화를 클릭하여 secret scanning을 활성화해야 합니다. 비활성화 단추가 표시되면 secret scanning이 이미 활성화된 것입니다.

    "사용" 단추가 진한 주황색 윤곽선으로 강조 표시된 "코드 보안 및 분석" 페이지의 "Secret scanning" 섹션 스크린샷

사용자에 대한 비밀 검사 경고에 대한 추가 기능 사용

리포지토리의 "코드 보안 및 분석" 설정을 통해 다음 추가 secret scanning 기능을 사용하도록 설정할 수 있습니다.

파트너 패턴 유효성 검사 사용

Note

파트너 패턴의 유효성 검사는 현재 베타 버전이며 변경될 수 있습니다.

GitHub.com의 모든 리포지토리에서 파트너 패턴의 유효성 검사를 사용할 수 있습니다. 이 기능을 사용하려면 GitHub Advanced Security 라이선스가 있어야 합니다.

secret scanning이(가) 관련 파트너에게 리포지토리에 있는 비밀을 전송하여 자동으로 유효성을 검사할 수 있습니다. 유효성 검사에 대한 자세한 내용은 "비밀 검사에서 경고 관리"에서 "비밀의 유효성 검사"를 참조하세요.

참고: 리포지토리에 대해 자동 유효성 검사를 활성화하면 해당 리포지토리에서 검색된 패턴에 대해 주문형 유효성 검사를 수행하도록 허용할 수도 있습니다.

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

  2. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.

  4. Secret scanning에서 "관련 파트너에게 비밀을 전송하여 비밀이 유효한지 자동으로 확인" 옆의 확인란을 선택합니다.

REST API를 사용하여 리포지토리의 파트너 패턴에 대한 유효성 검사 사용하도록 설정할 수도 있습니다. 자세한 내용은 "리포지토리에 대한 REST API 엔드포인트"을(를) 참조하세요. 아니면 조직 소유자 및 엔터프라이즈 관리자가 조직 또는 엔터프라이즈 설정의 모든 리포지토리에 기능을 사용하도록 설정할 수 있습니다. 자세한 내용은 "조직의 보안 및 분석 설정 관리" 및 "엔터프라이즈용 GitHub Advanced Security 기능 관리"을(를) 참조하세요.

비공급자 패턴 검사 사용

참고: 비공급자 패턴 감지는 현재 베타 버전이며 변경될 수 있습니다.

비공급자 패턴 검사를 사용하도록 설정할 수 있습니다. 비제공자 패턴은 프라이빗 키와 같은 비밀에 해당하며 가양성의 비율이 더 높습니다.

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

  2. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.

  4. Secret scanning에서 "비공급자 패턴 검사" 옆의 확인란을 선택합니다.

비제공자 패턴에 대한 자세한 내용은 "비밀 검사 패턴" 항목을 참조하세요.

모든 사용자 소유 퍼블릭 리포지토리에 대하여 사용자에 대한 비밀 검사 경고 사용 설정

개인 계정 설정을 통해 모든 기존 사용자 소유 퍼블릭 리포지토리에 대하여 secret scanning을(를) 사용 설정할 수 있습니다.

참고: 2024년 3월 11일부터 사용자가 생성하는 모든 신규 사용자 소유 퍼블릭 리포지토리에 대하여 기본적으로 secret scanning 및 푸시 보호가 사용 설정됩니다. 종전처럼 각 리포지토리에서 이러한 기능을 사용하지 않으려면 리포지토리의 "코드 보안 및 분석" 설정 페이지를 이용하면 됩니다. 자세한 내용은 "리포지토리에 대한 보안 및 분석 설정 관리"을 참조하세요.

  1. GitHub의 페이지 오른쪽 상단에서 프로필 사진을 클릭한 다음, 설정을 클릭합니다.

  2. 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.

  3. "코드 보안 및 분석"의 "Dependabot alerts" 오른쪽에서 모두 사용 안 함 또는 모두 사용을 클릭합니다.

  4. 필요에 따라 푸시 보호를 활성화하려면 "푸시 보호" 오른쪽에 있는 활성화를 클릭합니다. 조직 또는 리포지토리에 대하여 푸시 보호를 사용 설정하면 secret scanning이(가) 지원되는 비밀에 대한 푸시도 검사합니다. Secret scanning은 검색한 비밀을 나열하므로 작성자는 비밀을 검토하고 제거하거나 허용되는 경우 해당 비밀을 돌려주기할 수 있습니다. 자세한 내용은 "리포지토리 및 조직에 대한 푸시 보호"을(를) 참조하세요.

    "Secret scanning" 섹션의 스크린샷 "푸시 보호" 섹션에 "사용" 버튼이 진한 주황색 윤곽선으로 강조 표시됩니다.

사용자에 대한 비밀 검사 경고에서 디렉터리 제외

푸시 보호를 사용하는 경우를 포함하여secret scanning에서 디렉터리를 제외하도록 secret_scanning.yml 파일을 구성할 수 있습니다. 예를 들어 테스트 또는 임의로 생성된 콘텐츠가 포함된 디렉터리를 제외할 수 있습니다.

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

  2. 파일 목록 위에서 파일 추가 드롭다운 메뉴를 선택하고 새 파일 만들기를 클릭합니다.

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

     리포지토리의 기본 페이지 스크린샷입니다. 파일 목록 위에 "파일 추가" 레이블의 단추가 진한 주황색으로 표시됩니다. 리포지토리의 파일 트리 보기에서 더하기 기호 아이콘이 있는 단추도 진한 주황색으로 표시됩니다.

  3. 파일 이름 필드에 _.github/secret_scanning.yml_을 입력합니다.

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

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

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

    참고:

    • paths-ignore에 1,000개가 넘는 항목이 있는 경우 secret scanning은 검사에서 처음 1,000개의 디렉터리만 제외합니다.
    • secret_scanning.yml이(가) 1 MB보다 크면 secret scanning은(는) 전체 파일을 무시합니다.

secret scanning에서 개별 경고를 무시할 수도 있습니다. 자세한 내용은 "비밀 검사에서 경고 관리"을(를) 참조하세요.

추가 참고 자료