Описание пользовательских шаблонов для secret scanning
Вы можете определять пользовательские шаблоны для идентификации секретов, которые не обнаружены шаблонами по умолчанию, поддерживаемыми secret scanning. Например, у вас может быть внутренний шаблон секрета для вашей организации. Дополнительные сведения о поддерживаемых секретах и поставщиках услуг см. в разделе Шаблоны сканирования секретов.
Вы можете определять пользовательские шаблоны для предприятия, организации или репозитория. Secret scanning поддерживает до 500 пользовательских шаблонов для каждой организации или корпоративной учетной записи и до 100 пользовательских шаблонов для каждого репозитория.
Синтаксис регулярных выражений для пользовательских шаблонов
Пользовательские шаблоны для secret scanning можно указать в виде одного или нескольких регулярных выражений.
- Формат секрета: выражение, описывающее формат самого секрета.
- Перед секретом: выражение, описывающее символы перед секретом. По умолчанию задано значение
\A|[^0-9A-Za-z]
, которое означает, что секрет должен находиться в начале строки или перед ним должна быть буква или цифра. - После секрета: выражение, описывающее символы после секрета. По умолчанию задано значение
\z|[^0-9A-Za-z]
, которое означает, что за секретом должна следовать новая строка или символ, не являющийся буквой или цифрой. - Дополнительные требования соответствия: одно или несколько необязательных выражений, которым должен или не должен соответствовать сам секрет.
Для простых маркеров безопасности обычно достаточно указать только формат секрета. Другие поля обеспечивают гибкость, позволяющую задавать более сложные секреты без создания сложных регулярных выражений. Пример пользовательского шаблона см. в разделе Пример пользовательского шаблона, заданного с использованием дополнительных требований ниже.
Secret scanning использует библиотеку Hyperscan и поддерживает только конструкции регулярных выражений Hyperscan, которые являются подмножеством синтаксиса PCRE. Модификаторы параметров Hyperscan не поддерживаются. Дополнительные сведения о конструкциях шаблонов Hyperscan см. в разделе Поддержка шаблонов документации Hyperscan.
Определение пользовательского шаблона для репозитория
Перед определением настраиваемого шаблона необходимо убедиться, что в вашем репозитории включено secret scanning. Дополнительные сведения см. в разделе Настройка проверки секретов в ваших репозиториях.
-
На экземпляр GitHub Enterprise Server перейдите на главную страницу репозитория. 1. Под именем репозитория щелкните Параметры. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку Параметры.
-
На левой боковой панели щелкните Безопасность и анализ. 1. В разделе "Безопасность и анализ кода" найдите GitHub Advanced Security. 1. В разделе "Secret scanning" в разделе "Пользовательские шаблоны" щелкните Создать шаблон. 1. Введите сведения о новом пользовательском шаблоне. Необходимо по крайней мере указать имя шаблона и регулярное выражение для формата шаблона секрета.
-
В поле "Имя шаблона" введите имя шаблона.
-
В поле "Формат секрета" введите регулярное выражение для формата шаблона секрета.
-
Можно щелкнуть Дополнительные параметры , чтобы предоставить другое дополнительное содержимое или требований соответствия для формата секрета.
-
Предоставьте пример тестовой строки для проверки соответствия конфигурации ожидаемым шаблонам.
-
Если вы удовлетворены новым пользовательским шаблоном, щелкните Создать шаблон.
-
После создания шаблона secret scanning сканирует все секреты во всем журнале Git во всех ветвях, имеющихся в репозитории GitHub. Дополнительные сведения о просмотре оповещения о проверке секретов см. в разделе Управление оповещениями о проверке секретов.
Пример настраиваемого шаблона, заданного с использованием дополнительных требований
У компании есть внутренний маркер безопасности с пятью характеристиками. Они используют различные поля, чтобы указать, как идентифицировать маркеры, следующим образом.
Характеристика | Поле и регулярное выражение |
---|---|
Длина от 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 во всех репозиториях в организации см. в разделе Управление параметрами безопасности и анализа для организации.
Примечание. Так как функциональность пробного прогона отсутствует, рекомендуется протестировать пользовательские шаблоны в репозитории, прежде чем определять их для всей организации. Таким образом можно избежать создания избыточных ложноположительных оповещения о проверке секретов.
-
В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля, а затем щелкните Ваши организации.
2. Рядом с организацией щелкните Параметры. -
На левой боковой панели щелкните Безопасность и анализ.
-
В разделе "Безопасность и анализ кода" найдите GitHub Advanced Security. 1. В разделе "Secret scanning" в разделе "Пользовательские шаблоны" щелкните Создать шаблон. 1. Введите сведения о новом пользовательском шаблоне. Необходимо по крайней мере указать имя шаблона и регулярное выражение для формата шаблона секрета.
-
В поле "Имя шаблона" введите имя шаблона.
-
В поле "Формат секрета" введите регулярное выражение для формата шаблона секрета.
-
Можно щелкнуть Дополнительные параметры , чтобы предоставить другое дополнительное содержимое или требований соответствия для формата секрета.
-
Предоставьте пример тестовой строки для проверки соответствия конфигурации ожидаемым шаблонам.
-
Если вы удовлетворены новым пользовательским шаблоном, щелкните Создать шаблон.
После создания шаблона secret scanning проверяет все секреты в репозиториях организации, включая полный журнал Git во всех ветвях. Владельцы организации и администраторы репозитория будут оповещены обо всех обнаруженных секретах и смогут просмотреть оповещение в репозитории, где обнаружен секрет. Дополнительные сведения о просмотре оповещения о проверке секретов см. в разделе Управление оповещениями о проверке секретов.
Определение пользовательского шаблона для учетной записи предприятия
Перед определением пользовательского шаблона необходимо включить проверку секретов для учетной записи предприятия. Дополнительные сведения см. в разделе Включение GitHub Advanced Security для предприятия.
Примечание: Так как не существует функций для запуска без необходимости, рекомендуется протестировать пользовательские шаблоны в репозитории, прежде чем определять их для всего предприятия. Таким образом можно избежать создания избыточных ложноположительных оповещения о проверке секретов.
-
В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.
-
На боковой панели корпоративной учетной записи щелкните Политики. 1. В разделе "Политики" щелкните Расширенная безопасность. 1. В разделе «Расширенная безопасность GitHub» перейдите на вкладку Функции безопасности.
-
В разделе "Настраиваемые шаблоны сканирования секретов" щелкните Новый шаблон.
-
Введите сведения о новом пользовательском шаблоне. Необходимо по крайней мере указать имя шаблона и регулярное выражение для формата шаблона секрета.
-
В поле "Имя шаблона" введите имя шаблона.
-
В поле "Формат секрета" введите регулярное выражение для формата шаблона секрета.
-
Можно щелкнуть Дополнительные параметры , чтобы предоставить другое дополнительное содержимое или требований соответствия для формата секрета.
-
Предоставьте пример тестовой строки для проверки соответствия конфигурации ожидаемым шаблонам.
-
Если вы удовлетворены новым пользовательским шаблоном, щелкните Создать шаблон.
-
После создания шаблона secret scanning проверяет все секреты в репозиториях организаций предприятия с включенной GitHub Advanced Security, включая полный журнал Git во всех ветвях. Владельцы организации и администраторы репозитория будут оповещены обо всех обнаруженных секретах и смогут просмотреть оповещение в репозитории, где обнаружен секрет. Дополнительные сведения о просмотре оповещения о проверке секретов см. в разделе Управление оповещениями о проверке секретов.
Изменение пользовательского шаблона
При сохранении изменения в пользовательском шаблоне закрываются все оповещения о проверке секретов, созданные с помощью предыдущей версии шаблона.
- Перейдите туда, где был создан пользовательский шаблон. Пользовательский шаблон можно создать в репозитории, организации или корпоративной учетной записи.
- Для репозитория или организации откройте параметры "Безопасность и анализ" для репозитория или организации, где был создан пользовательский шаблон. Дополнительные сведения см. в разделах Определение пользовательского шаблона для репозитория или Определение пользовательского шаблона для организации.
- Для предприятия в разделе "Политики" откройте область "Расширенная безопасность", а затем щелкните пункт Функции безопасности. Дополнительные сведения см. в разделе Определение пользовательского шаблона для корпоративной учетной записи выше.
- В разделе "Secret scanning" справа от пользовательского шаблона, который требуется изменить, щелкните .
- После проверки и тестирования изменений нажмите кнопку Опубликовать изменения.
Удаление пользовательского шаблона
- Перейдите туда, где был создан пользовательский шаблон. Пользовательский шаблон можно создать в репозитории, организации или корпоративной учетной записи.
- Для репозитория или организации откройте параметры "Безопасность и анализ" для репозитория или организации, где был создан пользовательский шаблон. Дополнительные сведения см. в разделах Определение пользовательского шаблона для репозитория или Определение пользовательского шаблона для организации.
- Для предприятия в разделе "Политики" откройте область "Расширенная безопасность", а затем щелкните пункт Функции безопасности. Дополнительные сведения см. в разделе Определение пользовательского шаблона для корпоративной учетной записи выше.
- Справа от пользовательского шаблона, который вы хотите удалить, щелкните .
- Просмотрите подтверждение и выберите метод для работы с любыми открытыми оповещениями, связанными с пользовательским шаблоном.
- Нажмите Да, удалить этот шаблон.