Сведения о настройке по умолчанию
Настройка по умолчанию code scanning — это самый быстрый, простой и самый нетребовательный способ включить code scanning репозиторий. Исходя из кода в вашем репозитории, настройка по умолчанию автоматически создаёт пользовательскую code scanning конфигурацию. После включения настройки по умолчанию код, написанный на CodeQLподдерживаемых языках в вашем репозитории, будет просканирован с помощью CodeQL:
- При каждой отправке в ветвь по умолчанию репозитория или любой защищенная ветвь. Дополнительные сведения о защищенная ветвь см. в разделе Сведения о защищенных ветвях.
- При создании или фиксации запроса на вытягивание на основе ветвь по умолчанию репозитория или любых защищенная ветвь, исключая запросы на вытягивание из вилок.
- Еженедельное расписание.
Поддерживаемые языки
Рекомендуется включить настройку по умолчанию для подходящих репозиториев, если есть вероятность того, что репозитории будут включать по крайней мере один CodeQLподдерживаемый язык в будущем. Если включить настройку по умолчанию в репозитории, включающую никакие CodeQLподдерживаемые языки, программа установки по умолчанию не будет выполнять проверки или использовать какие-либо GitHub Actions минут. Если CodeQLподдерживаемые языки добавляются в ветвь по умолчанию репозитория, программа установки по умолчанию автоматически начнет сканирование CodeQLподдерживаемых языков и использование GitHub Actions минут. Дополнительные сведения о CodeQLподдерживаемых языках см. в разделе О проверке кода с помощью CodeQL.
Если код в репозитории изменится и включает поддерживаемые CodeQLязыки, GitHub конфигурация автоматически обновится code scanning с новым языком. Если code scanning с новой конфигурацией не получится, GitHub прежняя конфигурация возобновится автоматически, чтобы репозиторий не потерял code scanning покрытие.
Настройка настройки по умолчанию
После первоначального анализа кода с настройками по умолчанию вы можете внести изменения в конфигурацию, чтобы лучше соответствовать вашим потребностям.
Параметры конфигурации
Для существующих конфигураций настройки по умолчанию можно изменить:
- Какие языки будут анализироваться по умолчанию.
- Набор запросов выполняется во время анализа. Дополнительные сведения о доступных наборах запросов см. в разделе Наборы запросов CodeQL.
- Модели угроз (Публичный предварительный просмотр) для анализа использования. Выбор модели угроз определяет, какие источники незащищенных данных рассматриваются как риск для приложения. Во время Публичный предварительный просмотр, модели угроз поддерживаются только для анализа Java/Kotlin и C#. Дополнительные сведения о моделях угроз см. в разделе "Включение локальных источников неуместных данных" в настройке по умолчанию.
Если ваша кодовая база зависит от библиотеки или фреймворка, которые не распознаются стандартными библиотеками, входящими в CodeQLкомплект, вы также можете расширить CodeQL покрытие по умолчанию с помощью CodeQL моделей. Дополнительные сведения см. в разделе "Расширение покрытия CodeQL с помощью пакетов модели CodeQL" по умолчанию.
Доступны дополнительные опции конфигурации, которые используются для всех code scanning типов настройки. См . раздел AUTOTITLE.
Доступные средства выполнения
Вы можете использовать настройки по умолчанию для всех CodeQLподдерживаемых языков на самостоятельных раннерах или GitHub-hosted runners.
Вы можете назначать самостоятельных пользователей для настройки по умолчанию, присвоив им метку по умолчанию code-scanning , или, по желанию, дать им пользовательские метки, чтобы отдельные репозитории могли использовать разные маршруты.
Если у вас нет конкретного варианта использования, рекомендуется назначать только средства выполнения с меткой по умолчанию code-scanning . Однако вы можете использовать индивидуальные метки, чтобы:
- Назначайте более мощные самостоятельные рунеры в критические репозитории для более быстрого code scanning анализа.
- Запускайте анализы code scanning на определённой платформе (например, macOS).
- Имейте детальный контроль над нагрузкой для ваших GitHub-hosted и self-hosted runners.
О продвинутой настройке
Если вам нужен более детальный контроль над code scanning конфигурацией, лучше настроить расширенную конфигурацию. Расширенная настройка для code scanning полезна, когда нужно настроить .code scanning Вы можете настроить code scanning с GitHub Actions помощью внешней системы непрерывной интеграции или непрерывной доставки/развертывания (CI/CD).
При сканировании кода с помощью нескольких конфигураций оповещение иногда будет иметь несколько источников анализа. Если оповещение имеет несколько источников анализа, состояние оповещения для каждого источника анализа можно посмотреть на странице оповещения. Дополнительные сведения см. в разделе О предупреждениях о сканировании кода.
С GitHub Actions
Создавая и редактируя GitHub Actions файл рабочего процесса, вы можете определить, как строить скомпилированные языки, выбирать запросы для запуска, выбирать языки для сканирования, использовать матричную сборку и многое другое. Кроме того, у вас есть доступ ко всем параметрам управления рабочими процессами, например изменение расписания сканирования, определение триггеров рабочих процессов, указание используемых специалистов.
С помощью сторонней системы CI/CD
В качестве альтернативы работе code scanning внутри GitHub , GitHub Actionsиспользуя , вы можете анализировать код во внешней CI/CD системе, а затем загрузить результаты в GitHub.
Это CodeQL CLI автономный инструмент командной строки, который можно использовать для анализа кода. Вы можете добавить их CodeQL CLI в свою стороннюю систему или использовать другой сторонний инструмент статического анализа, который может выдавать результаты в формате Static Analysis Results Interchange Format (SARIF) 2.1.0. Дополнительные сведения см. в разделе [AUTOTITLE и Сведения о интерфейсе командной строки CodeQL](/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning).
Оповещения code scanning о тех, которые вы генерируете внешне, отображаются так же, как и для code scanning тех, что вы генерируете внутри GitHub.
Дальнейшие шаги
Вы можете включить настройки по умолчанию для одного репозитория, нескольких репозиториев или всех репозиториев организации одновременно.
- Для отдельного репозитория см. Настройка настройки по умолчанию для сканирования кода.
- Для массового активирования см. Настройка настройки по умолчанию для сканирования кода в масштабе.
Для настройки расширенной настройки см. Настройка расширенной настройки для сканирования кода.