Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Определение пользовательских шаблонов для проверки секретов

Вы можете расширить secret scanning для обнаружения секретов за пределами шаблонов по умолчанию.

Оповещения о проверке секретов для партнеров выполняется автоматически во всех общедоступных репозиториях. Если у вас есть лицензия на GitHub Advanced Security, вы можете включить и настроить Оповещения проверки секретов для пользователей для любого репозитория, принадлежащего организации. Дополнительные сведения см. в разделе Сведения о Оповещения проверки секретов для пользователей и сведения о GitHub Advanced Security.

Описание пользовательских шаблонов для secret scanning

Вы можете определять пользовательские шаблоны для идентификации секретов, которые не обнаружены шаблонами по умолчанию, поддерживаемыми secret scanning. Например, у вас может быть внутренний шаблон секрета для вашей организации. Сведения о поддерживаемых секретах и поставщиках услуг см. в разделе Шаблоны Secret scanning.

Вы можете определять пользовательские шаблоны для предприятия, организации или репозитория. Secret scanning поддерживает до 500 пользовательских шаблонов для каждой организации или корпоративной учетной записи и до 100 пользовательских шаблонов для каждого репозитория.

Вы также можете включить защиту от принудительной отправки для пользовательских шаблонов. Дополнительные сведения о защите от push-уведомлений см. в разделе Защита push-уведомлений с помощью сканирования секретов.

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

Пользовательские шаблоны для secret scanning можно указать в виде одного или нескольких регулярных выражений.

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

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

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

Определение пользовательского шаблона для репозитория

Перед определением настраиваемого шаблона необходимо убедиться, что в вашем репозитории включено secret scanning. Дополнительные сведения см. в разделе Настройка secret scanning для репозиториев.

  1. На GitHub.com перейдите на главную страницу репозитория. 1. Нажмите Параметры под именем репозитория. Кнопка параметров репозитория

  2. В разделе "Безопасность" боковой панели щелкните Безопасность и анализ кода.

  3. В разделе "Безопасность и анализ кода" найдите GitHub Advanced Security. 1. В разделе "Secret scanning" в разделе "Пользовательские шаблоны" щелкните Создать шаблон. 1. Введите сведения о новом пользовательском шаблоне:

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

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

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

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

  8. По завершении пробного запуска вы увидите выборку результатов (до 1000). Проверьте результаты и определите ложноположительные. Снимок экрана: результаты из пробного запуска

  9. Измените новый пользовательский шаблон, чтобы устранить все проблемы с результатами, а затем, чтобы протестировать изменения, щелкните Сохранить и выполнить пробный запуск. 1. Если вы удовлетворены новым пользовательским шаблоном, щелкните Опубликовать шаблон

  10. При необходимости, чтобы включить защиту от push-уведомлений для пользовательского шаблона, нажмите кнопку Включить.

    Примечание.

    • Защита от push-уведомлений для пользовательских шаблонов будет применяться только к репозиториям, в которых secret scanning включена защита от push-уведомлений. Дополнительные сведения см. в разделе Включение secret scanning в качестве принудительной защиты для репозитория.
    • Включение защиты от push-уведомлений для часто встречающихся пользовательских шаблонов может нарушить работу участников.

    Снимок экрана: страница пользовательского шаблона с кнопкой для включения защиты от push-уведомлений

После создания шаблона secret scanning сканирует все секреты во всем журнале Git во всех ветвях, имеющихся в репозитории GitHub. Дополнительные сведения о просмотре оповещения о проверке секретов см. в разделе Управление оповещениями из secret scanning.

Пример настраиваемого шаблона, заданного с использованием дополнительных требований

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

ХарактеристикаПоле и регулярное выражение
Длина от 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 щелкните фотографию профиля, а затем щелкните Ваши организации. Ваши организации в меню профиля 2. Рядом с организацией щелкните Параметры. Кнопка "Параметры"

  2. В разделе "Безопасность" боковой панели щелкните Code security and analysis (Безопасность и анализ кода).

  3. В разделе "Безопасность и анализ кода" найдите GitHub Advanced Security. 1. В разделе "Secret scanning" в разделе "Пользовательские шаблоны" щелкните Создать шаблон. 1. Введите сведения о новом пользовательском шаблоне:

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

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

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

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

  8. Выберите репозитории, в которых требуется выполнить пробное выполнение.

    • Чтобы выполнить пробное выполнение во всей организации, щелкните Все репозитории в организации. Снимок экрана: репозитории, выбранные для пробного запуска
    • Чтобы указать репозитории, в которых требуется выполнить пробное выполнение, щелкните Выбранные репозитории, а затем найдите и выберите до 10 репозиториев. Снимок экрана: репозитории, выбранные для пробного запуска
  9. Когда вы будете готовы протестировать новый пользовательский шаблон, щелкните Выполнить. 1. По завершении пробного запуска вы увидите выборку результатов (до 1000). Проверьте результаты и определите ложноположительные. Снимок экрана: результаты из пробного запуска

  10. Измените новый пользовательский шаблон, чтобы устранить все проблемы с результатами, а затем, чтобы протестировать изменения, щелкните Сохранить и выполнить пробный запуск. 1. Если вы удовлетворены новым пользовательским шаблоном, щелкните Опубликовать шаблон

  11. При необходимости, чтобы включить защиту от push-уведомлений для пользовательского шаблона, нажмите кнопку Включить.

    Примечание.

    • Защита от push-уведомлений для пользовательских шаблонов будет применяться только к репозиториям в вашей организации, для которых включена защита от push-уведомлений secret scanning. Дополнительные сведения см. в разделе Включение secret scanning в качестве принудительной защиты для организации.
    • Включение защиты от push-уведомлений для часто встречающихся пользовательских шаблонов может нарушить работу участников.

    Снимок экрана: страница пользовательского шаблона с кнопкой для включения защиты от push-уведомлений

После создания шаблона secret scanning проверяет все секреты в репозиториях организации, включая полный журнал Git во всех ветвях. Владельцы организации и администраторы репозитория будут оповещены обо всех обнаруженных секретах и смогут просмотреть оповещение в репозитории, где обнаружен секрет. Дополнительные сведения о просмотре оповещения о проверке секретов см. в разделе Управление оповещениями из secret scanning.

Определение пользовательского шаблона для учетной записи предприятия

Перед определением пользовательского шаблона необходимо включить проверку секретов для учетной записи предприятия. Дополнительные сведения см. в разделе Включение GitHub Advanced Security для предприятия.

Примечания.

  • На уровне предприятия только создатель пользовательского шаблона может изменять шаблон и использовать его в пробном прогоне.
  • Владельцы предприятия могут использовать пробные прогоны только в репозиториях, к которым у них есть доступ. Владельцы предприятия могут не иметь доступа ко всем организациям или репозиториям предприятия.
  1. В правом верхнем углу GitHub.com щелкните фотографию профиля и выберите Ваши предприятия. Раздел "Ваши предприятия" в раскрывающемся меню для фотографии профиля в GitHub Enterprise Cloud

  2. В списке предприятий щелкните предприятие, которое требуется просмотреть. Название предприятия в списке ваших предприятий

  3. На боковой панели корпоративной учетной записи нажмите Политики . Вкладка "Политики" на боковой панели корпоративной учетной записи 1. В разделе Политики щелкните "Безопасность и анализ кода". Снимок экрана: политики безопасности и анализа кода на боковой панели

  4. В разделе "Безопасность и анализ кода" щелкните Функции безопасности.

  5. В разделе "Настраиваемые шаблоны сканирования секретов" щелкните Создать шаблон.

  6. Введите сведения о новом пользовательском шаблоне:

    1. Необходимо по крайней мере указать имя шаблона и регулярное выражение для формата шаблона секрета.
    2. Можно щелкнуть Дополнительные параметры , чтобы предоставить другое дополнительное содержимое или требований соответствия для формата секрета.
    3. Предоставьте пример тестовой строки для проверки соответствия конфигурации ожидаемым шаблонам.  Создание пользовательской формы шаблона secret scanning
  7. Когда вы будете готовы протестировать новый пользовательский шаблон, чтобы найти совпадения в вашей корпорации, но не создавать оповещения, нажмите кнопку Сохранить и выполнить пробный запуск.

  8. Найдите и выберите до 10 репозиториев, в которых требуется выполнить пробный запуск. Снимок экрана: репозитории, выбранные для пробного запуска

  9. Когда вы будете готовы протестировать новый пользовательский шаблон, щелкните Выполнить. 1. По завершении пробного запуска вы увидите выборку результатов (до 1000). Проверьте результаты и определите ложноположительные. Снимок экрана: результаты из пробного запуска

  10. Измените новый пользовательский шаблон, чтобы устранить все проблемы с результатами, а затем, чтобы протестировать изменения, щелкните Сохранить и выполнить пробный запуск. 1. Если вы удовлетворены новым пользовательским шаблоном, щелкните Опубликовать шаблон

  11. При необходимости, чтобы включить защиту от push-уведомлений для пользовательского шаблона, нажмите кнопку Включить.

    Примечание.

    • Чтобы включить защиту от push-уведомлений для пользовательских шаблонов, secret scanning в качестве защиты от push-уведомлений необходимо включить на уровне предприятия. Дополнительные сведения см. в разделе Включение secret scanning в качестве принудительной защиты для предприятия.
    • Включение защиты от push-уведомлений для часто встречающихся пользовательских шаблонов может нарушить работу участников.

    Снимок экрана: страница пользовательского шаблона с кнопкой для включения защиты от push-уведомлений

После создания шаблона secret scanning проверяет все секреты в репозиториях организаций предприятия с включенной GitHub Advanced Security, включая полный журнал Git во всех ветвях. Владельцы организации и администраторы репозитория будут оповещены обо всех обнаруженных секретах и смогут просмотреть оповещение в репозитории, где обнаружен секрет. Дополнительные сведения о просмотре оповещения о проверке секретов см. в разделе Управление оповещениями из secret scanning.

Изменение пользовательского шаблона

При сохранении изменения в пользовательском шаблоне будут закрыты все оповещения о проверке секретов, созданные с помощью предыдущей версии шаблона.

  1. Перейдите туда, где был создан пользовательский шаблон. Пользовательский шаблон можно создать в репозитории, организации или корпоративной учетной записи.

  2. В разделе "Secret scanning" справа от пользовательского шаблона, который требуется изменить, щелкните .

  3. Когда вы будете готовы протестировать отредактированный пользовательский шаблон, чтобы найти совпадения в вашей корпорации, но не создавать оповещения, нажмите кнопку Сохранить и выполнить пробный запуск.

  4. После проверки и тестирования изменений нажмите кнопку Опубликовать изменения. 1. При необходимости, чтобы включить защиту от принудительной отправки для пользовательского шаблона, нажмите кнопку Включить.

    Примечание.

    • Принудительная защита для пользовательских шаблонов будет применяться только к репозиториям, в которых включена secret scanning. Дополнительные сведения о включении защиты от отправки см. в разделе Защита push-уведомлений с помощью сканирования секретов.
    • Включение принудительной защиты для часто встречающихся пользовательских шаблонов может нарушить работу участников.

    Снимок экрана: страница пользовательского шаблона с кнопкой для включения защиты от push-уведомлений

  5. При необходимости, чтобы отключить защиту от push-уведомлений для пользовательского шаблона, нажмите кнопку Отключить.

    Снимок экрана: страница пользовательского шаблона с кнопкой отключения защиты от push-уведомлений

Удаление пользовательского шаблона

  1. Перейдите туда, где был создан пользовательский шаблон. Пользовательский шаблон можно создать в репозитории, организации или корпоративной учетной записи.

  2. Справа от пользовательского шаблона, который вы хотите удалить, щелкните .

  3. Просмотрите подтверждение и выберите метод для работы с любыми открытыми оповещениями, связанными с пользовательским шаблоном.

  4. Нажмите Да, удалить этот шаблон.

    Подтверждение удаления пользовательского шаблона secret scanning