Skip to main content

Сведения о проверке секретов

GitHub Enterprise Cloud сканирует репозитории на наличие известных типов секретов, чтобы предотвратить случайную фиксацию секретов.

Secret scanning alerts for partners выполняется автоматически во всех общедоступных репозиториях. Если у вас есть лицензия на GitHub Advanced Security, вы можете включить и настроить secret scanning alerts for users для любого репозитория, принадлежащего организации. Дополнительные сведения см. в разделе Сведения о secret scanning alerts for users и сведения о GitHub Advanced Security.

Сведения о secret scanning

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

Secret scanning сканирует весь журнал Git во всех ветвях, присутствующих в репозитории GitHub, на наличие секретов, даже если репозиторий архивирован. Secret scanning также анализирует описания проблем и комментарии для секретов.

Secret scanning доступно в GitHub.com в двух формах:

  1. Secret scanning alerts for partners. Выполняется автоматически во всех общедоступных репозиториях. Все строки, которые соответствуют шаблонам, предоставленным партнерами по проверке секретов, передаются непосредственно соответствующему партнеру. Дополнительные сведения см. в разделе "Сведения о secret scanning alerts for partners" ниже.

  2. Secret scanning alerts for users. Вы можете включить и настроить дополнительное сканирование для репозиториев, принадлежащих организациям, которые используют GitHub Enterprise Cloud и имеют лицензию на GitHub Advanced Security. Сюда входят частные и внутренние репозитории.

    Все строки, которые соответствуют шаблонам, предоставленным партнерами по проверке секретов, другими поставщиками услуг или определенными вами или вашей организацией, отображаются как оповещения на вкладке Безопасность репозиториев. Если строка в общедоступном репозитории соответствует шаблону партнера, она также передается партнеру. Дополнительные сведения см. в разделе "Сведения о secret scanning alerts for users" ниже.

Поставщики услуг могут сотрудничать с GitHub и предоставлять свои форматы секретов для сканирования. Сведения о нашей партнерской программе см. в статье о партнерской программе Secret scanning в документации по GitHub Enterprise Cloud.

Кроме того, secret scanning можно использовать для принудительной защиты репозитория или организации. При включении этой функции secret scanning запрещает участникам отправлять код с обнаруженным секретом. Чтобы продолжить, участники должны либо удалить секрет или секреты из отправки, либо, если нужно, обойти защиту. Администраторы также могут указать настраиваемую ссылку, которая будет отображаться участнику при блокировке отправки. Эта ссылка может содержать относящиеся к организации ресурсы, которые помогут участникам. Дополнительные сведения: Защита отправок через secret scanning.

Сведения о secret scanning alerts for partners

Когда вы делаете репозиторий общедоступным или отправляете изменения в общедоступный репозиторий, GitHub Enterprise Cloud всегда проверяет код на наличие секретов, соответствующих шаблонам партнеров. Secret scanning также анализирует описания проблем и комментарии для секретов. Если secret scanning обнаруживает потенциальный секрет, мы уведомим поставщика услуг, выпустившего секрет. Поставщик услуг проверяет строку и решает, следует ли ему отозвать секрет, выдать новый или связаться с вами напрямую. Его действие будет зависеть от того, какие риски при возникают для него или для вас. Дополнительные сведения см. в разделе Поддерживаемые секреты для оповещений партнеров.

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

Сведения о secret scanning alerts for users

Secret scanning alerts for users во всех репозиториях организации в составе GitHub Advanced Security. Эта функция недоступна в репозиториях, принадлежащих пользователю. При включении secret scanning для репозитория GitHub проверяет код на наличие шаблонов, соответствующих секретам, используемым многими поставщиками услуг. Secret scanning также анализирует описания проблем и комментарии для секретов. При утечке поддерживаемого секрета GitHub Enterprise Cloud создает оповещение secret scanning. GitHub также будет периодически выполнять полное сканирование журнала Git существующего содержимого в репозиториях GitHub Advanced Security, где включен secret scanning, и отправлять уведомления об оповещениях с помощью параметров уведомлений об оповещении secret scanning. Дополнительные сведения см. в разделе Поддерживаемые секреты для пользовательских оповещений".

Примечание. Secret scanning для описания проблем и комментариев находится в общедоступной бета-версии и может быть изменен.

Если вы являетесь администратором репозитория, вы можете включить secret scanning alerts for users для любого репозитория, включая архивные репозитории. Владельцы организации также могут включить secret scanning alerts for users для всех репозиториев или для всех новых репозиториев в организации. Дополнительные сведения см. в статьях Управление параметрами безопасности и анализа для репозитория и Управление параметрами безопасности и анализа для организации.

Для репозитория, организации или предприятия можно также определить пользовательские шаблоны secret scanning. Дополнительные сведения см. в разделе Определение пользовательских шаблонов для secret scanning.

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

Доступ к secret scanning alerts

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

Если secret scanning обнаруживает секрет, GitHub выдает оповещение.

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

Дополнительные сведения о просмотре и разрешении secret scanning alerts см. в разделе Управление оповещениями из secret scanning.

Администраторы репозитория и владельцы организации могут предоставлять пользователям и командам доступ к secret scanning alerts. Дополнительные сведения см. в статье Управление параметрами безопасности и анализа для репозитория.

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

Вы также можете использовать REST API для мониторинга результатов из secret scanning в репозиториях. Дополнительные сведения о конечных точках API см. в статье Secret scanning.

Дополнительные материалы