Skip to main content

Ссылка на пользовательские шаблоны

Используйте специфический синтаксис регулярных выражений для определения точных пользовательских шаблонов для secret scanning.

Библиотека регулярных выражений для пользовательских шаблонов

Secret scanning пользовательские паттерны определяются с помощью библиотеки Hyperscan и поддерживают только конструкции regex Hyperscan, которые являются подмножеством синтаксиса PCRE. Модификаторы параметров Hyperscan не поддерживаются. Дополнительные сведения о конструкциях шаблонов Hyperscan см . в разделе "Поддержка шаблонов" в документации по Hyperscan.

Синтаксис для ручного определения пользовательских паттернов

Дополнительные параметры в пользовательском интерфейсе помогают создавать регулярные выражения вручную.

  •         **Формат секрета:** выражение, описывающее формат самого секрета.
    
  •         **Перед секретом:** выражение, описывающее символы перед секретом. По умолчанию задано значение `\A|[^0-9A-Za-z]`, которое означает, что секрет должен находиться в начале строки или перед ним должна быть буква или цифра.
    
  •         **После секрета:** выражение, описывающее символы после секрета. По умолчанию задано значение `\z|[^0-9A-Za-z]`, которое означает, что за секретом должна следовать новая строка или символ, не являющийся буквой или цифрой.
    
  •         **Дополнительные требования соответствия:** одно или несколько необязательных выражений, которым должен или не должен соответствовать сам секрет.
    

Для простых маркеров безопасности обычно достаточно указать только формат секрета. Другие поля обеспечивают гибкость, позволяющую задавать более сложные секреты без создания сложных регулярных выражений.

Пример пользовательского узора

У компании есть внутренний маркер безопасности с пятью характеристиками. Они используют различные поля, чтобы указать, как идентифицировать маркеры, следующим образом.

| Характерный | Поле и регулярное выражение | |----------------|------------------------------| | Длина от 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 поддерживает до 500 пользовательских шаблонов для каждой организации или корпоративной учетной записи и до 100 пользовательских шаблонов для каждого репозитория.