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

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

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

Оповещения о проверке секретов для партнеров автоматически выполняется в общедоступных репозиториях и общедоступных пакетах npm для уведомления поставщиков служб об утечке секретов в GitHub.com.

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Под именем репозитория щелкните Параметры. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку Параметры.

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

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

  4. В разделе "Безопасность и анализ кода" найдите GitHub Advanced Security.

  5. В разделе "Secret scanning" в разделе "Пользовательские шаблоны" щелкните Создать шаблон.

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

    1. В поле "Имя шаблона" введите имя шаблона.

    2. В поле "Формат секрета" введите регулярное выражение для формата шаблона секрета.

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

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

       Снимок экрана: заполненная настраиваемая форма шаблона secret scanning.

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

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

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

  10. Если вы удовлетворены новым пользовательским шаблоном, щелкните Опубликовать шаблон.

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

    Примечание. Кнопка "Включить" недоступна до тех пор, пока вы не опубликуете шаблон после завершения сухого запуска.

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

После создания шаблона 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 во всех репозиториях в организации см. в разделе Управление параметрами безопасности и анализа для организации.

  1. В правом верхнем углу GitHub.com щелкните фотографию профиля, а затем щелкните Ваши организации.

    Снимок экрана: раскрывающееся меню под @octocatизображением профиля. "Ваши организации" выделены темно-оранжевым цветом.

  2. Рядом с организацией щелкните Параметры.

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

  4. В разделе "Безопасность и анализ кода" найдите GitHub Advanced Security.

  5. В разделе "Secret scanning" в разделе "Пользовательские шаблоны" щелкните Создать шаблон.

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

    1. В поле "Имя шаблона" введите имя шаблона.

    2. В поле "Формат секрета" введите регулярное выражение для формата шаблона секрета.

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

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

       Снимок экрана: заполненная настраиваемая форма шаблона secret scanning.

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

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

    • Чтобы выполнить пробное выполнение во всей организации, щелкните Все репозитории в организации.
    • Чтобы указать репозитории, в которых требуется выполнить пробное выполнение, щелкните Выбранные репозитории, а затем найдите и выберите до 10 репозиториев.
  9. Когда вы будете готовы протестировать новый пользовательский шаблон, щелкните Выполнить.

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

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

  12. Если вы удовлетворены новым пользовательским шаблоном, щелкните Опубликовать шаблон.

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

    Notes:

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

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

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

Примечания.

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

  2. В списке предприятий щелкните предприятие, которое требуется просмотреть.

  3. На боковой панели корпоративной учетной записи щелкните Политики.

  4. В разделе Политики щелкните "Безопасность и анализ кода". Снимок экрана: политики "Безопасность и анализ кода" на боковой панели

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

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

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

    1. В поле "Имя шаблона" введите имя шаблона.

    2. В поле "Формат секрета" введите регулярное выражение для формата шаблона секрета.

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

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

       Снимок экрана: заполненная настраиваемая форма шаблона secret scanning.

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

  9. Найдите и выберите до 10 репозиториев, в которых требуется выполнить пробный запуск.

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

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

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

  13. Если вы удовлетворены новым пользовательским шаблоном, щелкните Опубликовать шаблон.

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

    Примечания.

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

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

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

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

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

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

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

  4. После проверки и тестирования изменений нажмите кнопку Опубликовать изменения.

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

    Примечание.

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

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

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

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

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

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

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

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

Примечание: Метрики для пользовательских шаблонов находятся в общедоступной бета-версии и могут быть изменены.

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

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

Метрики отображаются под именем пользовательского шаблона.