Skip to main content

비밀 검사를 위한 사용자 지정 패턴 정의

하나 이상의 정규식을 생성하여 secret scanning 기능을 확장하도록 사용자 고유의 사용자 지정 패턴을 정의할 수 있습니다.

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

Secret scanning alerts for partners runs automatically on public repositories and public npm packages to notify service providers about leaked secrets on GitHub.com.

Secret scanning alerts for users are available for user-owned public repositories for free. Organizations using GitHub Enterprise Cloud with a license for GitHub Advanced Security can also enable secret scanning alerts for users on their private and internal repositories. Additionally, secret scanning alerts for users are available and in beta on user-owned repositories for GitHub Enterprise Cloud with Enterprise Managed Users. For more information, see "About secret scanning" and "About GitHub Advanced Security."

For information about how you can try GitHub Advanced Security for free, see "Setting up a trial of GitHub Advanced Security."

secret scanning에 대한 사용자 지정 패턴 정보

사용자 지정 패턴을 정의하여 secret scanning에서 지원하는 기본 패턴으로 검색되지 않는 비밀을 식별할 수 있습니다. 예를 들어 조직 내부에 비밀 패턴이 있을 수 있습니다. 지원하는 비밀 및 서비스 공급자에 대한 개요는 "‭‬AUTOTITLE‭‬"을 참조하세요.

엔터프라이즈, 조직 또는 리포지토리에 대한 사용자 지정 패턴을 정의할 수 있습니다. Secret scanning은(는) 각 조직 또는 기업 계정에 대해 최대 500개의 사용자 지정 패턴과 리포지토리당 최대 100개의 사용자 지정 패턴을 지원합니다.

사용자 지정 패턴에 대한 푸시 보호를 사용하도록 설정할 수도 있습니다. 푸시 보호에 대한 자세한 내용은 "리포지토리 및 조직에 대한 푸시 보호"을 참조하세요.

사용자 지정 패턴에 정규식 사용하기 정보

secret scanning에 대한 사용자 지정 패턴을 하나 이상의 정규식으로 지정할 수 있습니다.

Secret scanning는 Hyperscan 라이브러리를 사용하며, PCRE 구문의 하위 집합인 Hyperscan 정규식 구문만 지원합니다. Hyperscan 옵션 한정자는 지원되지 않습니다. Hyperscan 패턴 구문에 대한 자세한 내용은 Hyperscan 설명서의 "패턴 지원"을 참조하세요.

정규식을 수동으로 입력하거나 정규식 생성기를 사용하여 생성할 수 있습니다.

사용자 지정 패턴을 수동으로 정의하기 위한 정규식 구문

UI의 추가 옵션 섹션을 사용하면 정규식을 수동으로 작성할 수 있습니다.

  • 비밀 형식: 비밀 자체의 형식을 설명하는 식입니다.
  • 비밀 앞: 비밀 앞에 오는 문자를 설명하는 식입니다. 기본적으로 \A|[^0-9A-Za-z]로 설정되며, 이는 비밀이 줄의 시작 부분에 있거나 영숫자가 아닌 문자가 앞에 있어야 함을 의미합니다.
  • 비밀 뒤: 비밀 뒤에 오는 문자를 설명하는 식입니다. 기본적으로 \z|[^0-9A-Za-z]로 설정되며, 이는 비밀 뒤에 줄 바꿈 문자 또는 영숫자가 아닌 문자가 있어야 함을 의미합니다.
  • 추가 일치 요구 사항: 비밀 자체가 일치해야 하거나 일치하지 않아야 하는 하나 이상의 선택적 식입니다.

단순 토큰의 경우 일반적으로 비밀 형식만 지정하면 됩니다. 다른 필드는 복잡한 정규식을 만들지 않고도 더 복잡한 비밀을 지정할 수 있도록 유연성을 제공합니다. 사용자 지정 패턴의 예는 아래의 "추가 요구 사항을 사용하여 지정된 사용자 지정 패턴의 예"를 참조하세요.

정규식 생성기 사용하기

생성기는 검색해야 하는 선택적 예제 문자열을 포함하여 검색할 패턴 유형에 대한 텍스트 설명을 입력하는 생성형 AI 모델을 사용합니다. 이 모델은 검토를 위해 최대 3개의 정규식을 반환합니다. 자세한 내용은 "사용자 지정 패턴에 대한 정규식 생성기 정보 및 "AI로 사용자 지정 패턴에 대한 정규식 생성"을(를) 참조하세요.

리포지토리에 대한 사용자 지정 패턴 정의

사용자 지정 패턴을 정의하려면 먼저 리포지토리에서 secret scanning을 사용하도록 설정해야 합니다. 자세한 내용은 "리포지토리에 대한 비밀 검사 구성"을(를) 참조하세요.

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

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

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

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

  4. “Code security and analysis”(코드 보안 및 분석)에서 “GitHub Advanced Security”를 찾습니다.

  5. "Secret scanning"의 "사용자 지정 패턴"에서 새 패턴을 클릭합니다.

  6. 새 사용자 지정 패턴에 대한 세부 정보를 입력합니다. 적어도 패턴의 이름과 비밀 패턴 형식에 대한 정규식을 제공해야 합니다.

    1. "패턴 이름" 필드에 패턴 이름을 입력합니다.
    2. "비밀 형식" 필드에 비밀 패턴 형식의 정규식을 입력합니다. 또는 생성기를 사용하여 정규식을 생성할 수 있습니다. 자세한 내용은 "AI로 사용자 지정 패턴에 대한 정규식 생성"을(를) 참조하세요.
    3. 기타 옵션 아이콘을 클릭하여 다른 주변 콘텐츠 또는 비밀 형식에 대한 추가 일치 요구 사항을 제공할 수 있습니다.
    4. 구성이 예상하는 패턴과 일치하는지 확인하는 샘플 테스트 문자열을 제공합니다.

    채워진 사용자 지정 secret scanning 패턴 양식의 스크린샷

  7. 새 사용자 지정 패턴을 테스트할 준비가 되면 경고를 만들지 않고 리포지토리에서 일치 항목을 식별하기 위해 저장 및 시험 실행을 클릭합니다.

  8. 시험 실행이 완료되면 결과 샘플(최대 1,000개)이 표시됩니다. 결과를 검토하고 가양성 결과를 식별합니다.

    드라이 런의 결과를 보여 주는 스크린샷.

  9. 새 사용자 지정 패턴을 편집하여 결과와 관련한 문제를 해결합니다. 변경 내용을 테스트하려면 저장 및 시험 실행을 클릭합니다.

  10. 새 사용자 지정 패턴에 만족하면 게시 패턴을 클릭합니다.

  11. 필요에 따라 사용자 지정 패턴에 대한 푸시 보호를 사용하도록 설정하려면 사용을 클릭합니다.

    참고: 드라이 런이 성공하고 패턴을 게시할 때까지 "사용" 버튼을 사용할 수 없습니다.

    푸시 보호에 대한 자세한 내용은 "리포지토리 및 조직에 대한 푸시 보호"을 참조하세요.

패턴을 만든 후 secret scanning은 GitHub 리포지토리에 있는 모든 분기에서 전체 Git 기록의 비밀을 검색합니다. 비밀 검사 경고을(를) 보는 방법에 대한 자세한 내용은 "비밀 검사에서 경고 관리"을 참조하세요.

추가 요구 사항을 사용하여 지정된 사용자 지정 패턴의 예

회사에는 5가지 특성이 있는 내부 토큰이 있습니다. 다른 필드를 사용하여 다음과 같이 토큰을 식별하는 방법을 지정합니다.

특성필드 및 정규식
5~10자의 길이비밀 형식: [$#%@AA-Za-z0-9]{5,10}
.로 끝나지 않음비밀 뒤: [^\.]
숫자 및 대문자 포함추가 요구 사항: 비밀은 [A-Z][0-9]와 일치해야 합니다.
한 행에 둘 이상의 소문자를 포함하지 않음추가 요구 사항: 비밀은 [a-z]{2,}와 일치하지 않아야 합니다.
$%@! 중 하나 포함추가 요구 사항: 비밀은 [$%@!]와 일치해야 합니다.

다음 토큰은 위에서 설명한 사용자 지정 패턴과 일치합니다.

a9@AAfT!         # Secret string match: a9@AAfT
ee95GG@ZA942@aa  # Secret string match: @ZA942@a
a9@AA!ee9        # Secret string match: a9@AA

다음 문자열은 위에서 설명한 사용자 지정 패턴과 일치하지 않습니다.

a9@AA.!
a@AAAAA
aa9@AA!ee9
aAAAe9

조직에 대한 사용자 지정 패턴 정의

사용자 지정 패턴을 정의하려면 먼저 secret scanning을 조직에서 검사하려는 리포지토리에 사용하도록 설정해야 합니다. 조직의 모든 리포지토리에서 secret scanning을(를) 사용하도록 설정하려면 "조직의 보안 및 분석 설정 관리"을 참조하세요.

  1. GitHub.com의 오른쪽 위에서 프로필 사진을 선택한 다음 내 조직을 클릭합니다.

    @octocat 프로필 사진의 드롭다운 메뉴 스크린샷입니다. "조직"이 진한 주황색으로 표시됩니다.

  2. 조직 옆에 있는 설정을 클릭합니다.

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

  4. “Code security and analysis”(코드 보안 및 분석)에서 “GitHub Advanced Security”를 찾습니다.

  5. "Secret scanning"의 "사용자 지정 패턴"에서 새 패턴을 클릭합니다.

  6. 새 사용자 지정 패턴에 대한 세부 정보를 입력합니다. 적어도 패턴의 이름과 비밀 패턴 형식에 대한 정규식을 제공해야 합니다.

    1. "패턴 이름" 필드에 패턴 이름을 입력합니다.
    2. "비밀 형식" 필드에 비밀 패턴 형식의 정규식을 입력합니다. 또는 생성기를 사용하여 정규식을 생성할 수 있습니다. 자세한 내용은 "AI로 사용자 지정 패턴에 대한 정규식 생성"을(를) 참조하세요.
    3. 기타 옵션 아이콘을 클릭하여 다른 주변 콘텐츠 또는 비밀 형식에 대한 추가 일치 요구 사항을 제공할 수 있습니다.
    4. 구성이 예상하는 패턴과 일치하는지 확인하는 샘플 테스트 문자열을 제공합니다.

    채워진 사용자 지정 secret scanning 패턴 양식의 스크린샷

  7. 새 사용자 지정 패턴을 테스트할 준비가 되면 경고를 만들지 않고 선택한 리포지토리에서 일치 항목을 식별하기 위해 저장 및 시험 실행을 클릭합니다.

  8. 시험 실행을 수행할 리포지토리를 선택합니다.

    • 전체 조직에서 시험 실행을 수행하려면 조직의 모든 리포지토리를 선택합니다.
    • 시험 실행을 수행할 리포지토리를 지정하려면 선택한 리포지토리를 선택한 다음 최대 10개의 리포지토리를 검색하여 선택합니다.
  9. 새 사용자 지정 패턴을 테스트할 준비가 되면 실행을 클릭합니다.

  10. 시험 실행이 완료되면 결과 샘플(최대 1,000개)이 표시됩니다. 결과를 검토하고 가양성 결과를 식별합니다.

    드라이 런의 결과를 보여 주는 스크린샷.

  11. 새 사용자 지정 패턴을 편집하여 결과와 관련한 문제를 해결합니다. 변경 내용을 테스트하려면 저장 및 시험 실행을 클릭합니다.

  12. 새 사용자 지정 패턴에 만족하면 게시 패턴을 클릭합니다.

  13. 필요에 따라 사용자 지정 패턴에 대한 푸시 보호를 사용하도록 설정하려면 사용을 클릭합니다. 자세한 내용은 "리포지토리 및 조직에 대한 푸시 보호"을(를) 참조하세요.

    참고:

    • 푸시 보호를 사용하도록 설정하는 옵션은 게시된 패턴에 대해서만 표시됩니다.
    • 사용자 지정 패턴에 대한 푸시 보호는 푸시 보호가 사용하도록 설정된 secret scanning이(가) 있는 조직의 리포지토리에만 적용됩니다. 자세한 내용은 "리포지토리 및 조직에 대한 푸시 보호"을(를) 참조하세요.
    • 일반적으로 발견되는 사용자 지정 패턴에 푸시 보호를 사용하도록 설정하면 기여자에 방해가 될 수 있습니다.

패턴이 만들어지면 secret scanning에서 모든 분기의 전체 Git 기록을 포함하여 조직의 리포지토리에 있는 모든 비밀을 검사합니다. 조직 소유자와 리포지토리 관리자는 검색된 모든 비밀에 대해 경고를 받고 비밀이 검색된 리포지토리에서 경고를 검토할 수 있습니다. 비밀 검사 경고을(를) 보는 방법에 대한 자세한 내용은 "비밀 검사에서 경고 관리"을 참조하세요.

엔터프라이즈 계정에 대한 사용자 지정 패턴 정의

사용자 지정 패턴을 정의하려면 먼저 비밀 검사를 엔터프라이즈 계정에 사용하도록 설정해야 합니다. 자세한 내용은 "엔터프라이즈에 GitHub Advanced Security 사용"을 참조하세요.

참고:

  • 엔터프라이즈 수준에서 사용자 지정 패턴의 작성자만 패턴을 편집하고 시험 실행에서 사용할 수 있습니다.
  • 관리 액세스 권한이 있는 리포지토리에서만 시험 실행을 수행할 수 있습니다. 엔터프라이즈 소유자가 조직의 모든 리포지토리에서 시험 실행을 수행하려는 경우 조직 소유자 역할이 할당되어야 합니다. 자세한 내용은 "엔터프라이즈가 소유한 조직 내 역할 관리"을(를) 참조하세요.
  1. GitHub.com의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음 Your enterprises(내 엔터프라이즈)를 클릭합니다.

  2. 엔터프라이즈 목록에서 보려는 엔터프라이즈를 클릭합니다.

  3. 엔터프라이즈 계정 사이드바에서 정책을 클릭합니다. 1. "정책"에서 코드 보안 및 분석을 클릭합니다.

  4. "코드 보안 및 분석"에서 보안 기능을 클릭합니다.

  5. "비밀 검사 사용자 지정 패턴"에서 새 패턴을 클릭합니다.

  6. 새 사용자 지정 패턴에 대한 세부 정보를 입력합니다. 적어도 패턴의 이름과 비밀 패턴 형식에 대한 정규식을 제공해야 합니다.

    1. "패턴 이름" 필드에 패턴 이름을 입력합니다.
    2. "비밀 형식" 필드에 비밀 패턴 형식의 정규식을 입력합니다. 또는 생성기를 사용하여 정규식을 생성할 수 있습니다. 자세한 내용은 "AI로 사용자 지정 패턴에 대한 정규식 생성"을(를) 참조하세요.
    3. 기타 옵션 아이콘을 클릭하여 다른 주변 콘텐츠 또는 비밀 형식에 대한 추가 일치 요구 사항을 제공할 수 있습니다.
    4. 구성이 예상하는 패턴과 일치하는지 확인하는 샘플 테스트 문자열을 제공합니다.

    채워진 사용자 지정 secret scanning 패턴 양식의 스크린샷

  7. 새 사용자 지정 패턴을 테스트할 준비가 되면 경고를 만들지 않고 엔터프라이즈에서 일치 항목을 식별하기 위해 저장 및 시험 실행을 클릭합니다.

  8. 시험 실행을 수행할 리포지토리를 최대 10개까지 검색하여 선택합니다.

  9. 새 사용자 지정 패턴을 테스트할 준비가 되면 실행을 클릭합니다.

  10. 시험 실행이 완료되면 결과 샘플(최대 1,000개)이 표시됩니다. 결과를 검토하고 가양성 결과를 식별합니다.

    드라이 런의 결과를 보여 주는 스크린샷.

  11. 새 사용자 지정 패턴을 편집하여 결과와 관련한 문제를 해결합니다. 변경 내용을 테스트하려면 저장 및 시험 실행을 클릭합니다.

  12. 새 사용자 지정 패턴에 만족하면 게시 패턴을 클릭합니다.

  13. 필요에 따라 사용자 지정 패턴에 대한 푸시 보호를 사용하도록 설정하려면 사용을 클릭합니다. 자세한 내용은 "리포지토리 및 조직에 대한 푸시 보호"을(를) 참조하세요.

    참고:

    • 사용자 지정 패턴에 푸시 보호를 사용하도록 설정하려면 엔터프라이즈 수준에서 푸시 보호로 secret scanning을(를) 사용하도록 설정해야 합니다. 자세한 내용은 "리포지토리 및 조직에 대한 푸시 보호"을(를) 참조하세요.
    • 일반적으로 발견되는 사용자 지정 패턴에 푸시 보호를 사용하도록 설정하면 기여자에 방해가 될 수 있습니다.

패턴이 만들어지면 secret scanning에서 모든 분기의 전체 Git 기록을 포함하여 GitHub Advanced Security가 사용하도록 설정된 엔터프라이즈 조직 내의 리포지토리에 있는 모든 비밀을 검사합니다. 조직 소유자와 리포지토리 관리자는 검색된 모든 비밀에 대해 경고를 받고 비밀이 검색된 리포지토리에서 경고를 검토할 수 있습니다. 비밀 검사 경고을(를) 보는 방법에 대한 자세한 내용은 "비밀 검사에서 경고 관리"을 참조하세요.

사용자 지정 패턴 편집

사용자 지정 패턴에 대한 변경 내용을 저장하면 이전 버전의 패턴을 사용하여 만든 모든 비밀 검사 경고이(가) 종료됩니다.

  1. 사용자 지정 패턴을 만든 위치로 이동합니다. 사용자 지정 패턴은 리포지토리, 조직 또는 엔터프라이즈 계정에서 만들 수 있습니다.

  2. "Secret scanning"에서 편집하려는 사용자 지정 패턴의 오른쪽에 있는 을(를) 클릭합니다.

  3. 편집한 사용자 지정 패턴을 테스트할 준비가 되면 경고를 만들지 않고 일치 항목을 식별하기 위해 저장 및 시험 실행을 클릭합니다.

  4. 변경 내용을 검토하고 테스트한 경우 변경 내용 게시를 클릭합니다.

  5. 필요에 따라 사용자 지정 패턴에 대한 푸시 보호를 사용하도록 설정하려면 [사용 ]을 클릭합니다.

    참고:

    • 사용자 지정 패턴에 대한 푸시 보호는 푸시 보호가 사용하도록 설정된 secret scanning인 리포지토리에만 적용됩니다. 푸시 보호를 사용하도록 설정하는 방법에 대한 자세한 내용은 "리포지토리 및 조직에 대한 푸시 보호.
    • 일반적으로 발견되는 사용자 지정 패턴에 푸시 보호를 사용하도록 설정하면 참가자에게 방해가 될 수 있습니다.

    푸시 보호를 사용하도록 설정하는 단추가 강조된 사용자 지정 패턴 페이지의 스크린샷.

  6. 필요에 따라 사용자 지정 패턴에 대한 푸시 보호를 사용하지 않도록 설정하려면 사용 안 함을 클릭합니다.

    진한 주황색 윤곽선으로 강조 표시된 푸시 보호를 사용하지 않도록 설정하는 버튼이 있는 사용자 지정 패턴 페이지의 스크린샷.

사용자 지정 패턴 제거

  1. 사용자 지정 패턴을 만든 위치로 이동합니다. 사용자 지정 패턴은 리포지토리, 조직 또는 엔터프라이즈 계정에서 만들 수 있습니다.
  2. 제거하려는 사용자 지정 패턴의 오른쪽에서 을(를) 클릭합니다.
  3. 확인을 검토하고 사용자 지정 패턴과 관련된 열린 경고를 처리하는 방법을 선택합니다.
  4. 예, 이 패턴을 삭제합니다. 를 클릭합니다.

사용자 지정 패턴에 대한 메트릭

조직 소유자와 관리자 권한이 있는 사용자는 사용자 지정 패턴에 대한 활동의 개요를 볼 수 있습니다. 개요에는 지난 30일 동안의 사용자 지정 패턴에 대한 경고 및 푸시 보호 작업이 포함됩니다.

참고: 사용자 지정 패턴에 대한 메트릭은 퍼블릭 베타로 제공되며 변경될 수 있습니다.

사용자 지정 패턴에 대한 메트릭 보기

  1. 사용자 지정 패턴을 만든 위치로 이동합니다. 사용자 지정 패턴은 리포지토리, 조직 또는 엔터프라이즈 계정에서 만들 수 있습니다.
  2. "Secret scanning" 아래에서 보려는 사용자 지정 패턴을 클릭합니다.

메트릭은 사용자 지정 패턴의 이름 아래에 표시됩니다.