사용자 지정 패턴에 대한 정규식 라이브러리
Secret scanning 사용자 지정 패턴은 Hyperscan 라이브러리 를 사용하여 정의되며 PCRE 구문의 하위 집합인 Hyperscan regex 구문만 지원합니다. Hyperscan 옵션 한정자는 지원되지 않습니다. Hyperscan 패턴 구성 요소에 대한 자세한 내용은 Hyperscan 문서의 패턴 지원을(를) 참조하세요.
사용자 지정 패턴을 수동으로 정의하기 위한 구문
UI의 추가 옵션 섹션은 정규식을 수동으로 작성하는 데 도움이 됩니다.
-
**비밀 형식:** 비밀 자체의 형식을 설명하는 표현식입니다. -
**비밀 앞:** 비밀 앞에 오는 문자를 설명하는 표현식입니다. 기본적으로 `\A|[^0-9A-Za-z]`로 설정되며, 이는 비밀이 줄의 시작 부분에 있거나 영숫자가 아닌 문자가 앞에 있어야 함을 의미합니다. -
**비밀 뒤:** 비밀 뒤에 오는 문자를 설명하는 표현식입니다. 기본적으로 `\z|[^0-9A-Za-z]`로 설정되며, 이는 비밀 뒤에 줄 바꿈 문자 또는 영숫자가 아닌 문자가 있어야 함을 의미합니다. -
**추가 일치 요구 사항:** 비밀 자체가 반드시(또는 반드시 아님) 일치해야 하는 선택적 표현식(1개 이상)입니다.
단순 토큰의 경우 일반적으로 비밀 형식만 지정하면 됩니다. 다른 필드는 복잡한 정규식을 만들지 않고도 더 복잡한 비밀을 지정할 수 있도록 유연성을 제공합니다.
사용자 지정 패턴 예제
회사에는 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은(는) 조직 또는 Enterprise 계정당 최대 500개의 사용자 지정 패턴, 그리고 리포지토리당 최대 100개의 사용자 지정 패턴을 지원합니다.