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

Настройка сканирования кода в большом масштабе с помощью CodeQL

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

Code scanning доступен для всех общедоступных репозиториев в GitHub.com. Чтобы использовать code scanning в частном репозитории, принадлежащем организации, необходима лицензия на GitHub Advanced Security. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

Сведения о настройке code scanning в нескольких репозиториях

Существует два способа одновременной настройки code scanning в нескольких репозиториях. Оптимальный метод зависит от потребностей в анализе репозиториев.

  1. Репозитории могут быть настроены по умолчанию для CodeQL и принадлежат организации.
  2. Группа репозиториев имеет аналогичные потребности в конфигурации для расширенной установки CodeQL.

Кроме того, GitHub Actions необходимо включить для organization or enterprise.

Подходящие репозитории для установки по умолчанию CodeQL

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

Вы можете использовать страницу параметров организации для "Безопасность и анализ кода", чтобы включить code scanning для любых репозиториев в организации, которые имеют право на установку по умолчанию CodeQL.

Критерии соответствия для включения на уровне организации

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

  • Code scanning еще не включен.
  • GitHub Actions включены.
  • Использует Go, JavaScript/TypeScript, Python или Ruby.
  • Не использует другие языки, поддерживаемые CodeQL, но может включать другие языки, например R. Дополнительные сведения о языках, поддерживаемых CodeQL, см. в разделе О проверке кода с помощью CodeQL.
  • Общедоступная или включена GitHub Advanced Security.

Дополнительные сведения о настройке по умолчанию см. в разделе Настройка проверки кода для репозитория. Сведения об изменении параметров безопасности и анализа для организации см. в разделе Управление параметрами безопасности и анализа для организации.

Поиск репозиториев, подходящих для установки по умолчанию

Страница покрытия безопасности, которая является частью обзора безопасности, позволяет легко фильтровать репозитории в вашей организации, чтобы показать репозитории, которые могут быть настроены по умолчанию.

  • code-scanning-default-setup:eligible is:public показывает репозитории с языками, подходящими для настройки по умолчанию, и подходящими, так как они видны для общественности.
  • code-scanning-default-setup:eligible advanced-security:enabled отображаются частные или внутренние репозитории с языками, подходящими для настройки по умолчанию, и подходящими, так как для них включен GitHub Advanced Security.
  • code-scanning-default-setup:eligible is:private,internal advanced-security:not-enabled показывает частные или внутренние репозитории с языками, подходящими для установки по умолчанию, но не включающими GitHub Advanced Security. После включения GitHub Advanced Security для этих репозиториев их также можно добавить в настройку по умолчанию.
  • code-scanning-default-setup:not-eligible отображаются репозитории, для которых либо уже настроена расширенная настройка, либо в которых языки не подходят для установки по умолчанию.

Дополнительные сведения о странице покрытия безопасности см. в разделе Оценка внедрения функций безопасности кода.

Использование скрипта для настройки расширенной установки

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

  1. Определите группу репозиториев, которые можно проанализировать с помощью той же конфигурации code scanning. Например, все репозитории, которые создают артефакты Java с помощью рабочей среды.
  2. Создайте и протестируйте рабочий процесс GitHub Actions, чтобы вызвать действие CodeQL с соответствующей конфигурацией. Дополнительные сведения см. в разделе Настройка проверки кода для репозитория.
  3. Используйте один из примеров скриптов, создайте пользовательский скрипт, чтобы добавить рабочий процесс в каждый репозиторий в группе.