Сведения о настройке по умолчанию
Настройка по умолчанию для code scanning — самый быстрый, самый простой, самый низкий способ обслуживания, чтобы включить code scanning для репозитория. На основе кода в репозитории настройка по умолчанию автоматически создаст настраиваемую конфигурацию code scanning . После включения настройки по умолчанию код, написанный на :
- При каждой отправке в ветвь по умолчанию репозитория или любой защищенная ветвь. Дополнительные сведения о защищенная ветвь см. в разделе Сведения о защищенных ветвях.
- При создании или фиксации запроса на вытягивание на основе ветвь по умолчанию репозитория или любых защищенная ветвь, исключая запросы на вытягивание из вилок.
- Еженедельное расписание.
Поддерживаемые языки
Рекомендуется включить настройку по умолчанию для подходящих репозиториев, если есть вероятность того, что репозитории будут включать по крайней мере один CodeQLподдерживаемый язык в будущем. Если включить настройку по умолчанию в репозитории, включающую никакие CodeQLподдерживаемые языки, программа установки по умолчанию не будет выполнять проверки или использовать какие-либо GitHub Actions минут. Если CodeQLподдерживаемые языки добавляются в ветвь по умолчанию репозитория, программа установки по умолчанию автоматически начнет сканирование CodeQLподдерживаемых языков и использование GitHub Actions минут. Дополнительные сведения о CodeQLподдерживаемых языках см. в разделе О проверке кода с помощью CodeQL.
Если код в репозитории изменяется и включает любые CodeQL-поддерживаемые языки, GitHub автоматически обновит конфигурацию code scanning, включив в нее новый язык. Если code scanning завершается ошибкой с новой конфигурацией, GitHub автоматически возобновляет предыдущую конфигурацию, чтобы репозиторий не потерял code scanning покрытия.
Настройка настройки по умолчанию
После первоначального анализа кода с настройками по умолчанию вы можете внести изменения в конфигурацию, чтобы лучше соответствовать вашим потребностям.
Если вам нужен более подробный контроль над конфигурацией code scanning, необходимо настроить расширенную настройку.
Параметры конфигурации
Для существующих конфигураций настройки по умолчанию можно изменить:
- Какие языки будут анализироваться по умолчанию.
- Набор запросов выполняется во время анализа. Дополнительные сведения о доступных наборах запросов см. в разделе Наборы запросов CodeQL.
- Модели угроз (public preview) для анализа. Выбор модели угроз определяет, какие источники незащищенных данных рассматриваются как риск для приложения. Во время public previewмодели угроз поддерживаются только для анализа Java/Kotlin и C#. Дополнительные сведения о моделях угроз см. в разделе "Включение локальных источников неуместных данных" в настройке по умолчанию.
Если база кода зависит от библиотеки или платформы, которая не распознается стандартными библиотеками, включенными в CodeQL, вы также можете расширить охват CodeQL в настройке по умолчанию с помощью пакетов моделей CodeQL. Дополнительные сведения см. в разделе "Расширение покрытия CodeQL с помощью пакетов модели CodeQL" по умолчанию.
Доступные средства выполнения
Вы можете использовать настройки по умолчанию для всех языков, поддерживаемых CodeQL, на самостоятельных раннерах или GitHub-хостированных раннерах.
Вы можете назначать самостоятельные раннеры для настройки по умолчанию, придавая раннерам стандартную code-scanning метку, или же по желанию дать им пользовательские метки, чтобы отдельные репозитории могли использовать разные раннеры.
Если у вас нет конкретного варианта использования, рекомендуется назначать только средства выполнения с меткой по умолчанию code-scanning . Однако вы можете использовать индивидуальные метки, чтобы:
- Назначьте более мощные локальные модули выполнения критически важным репозиториям для ускорения анализа code scanning.
- Запустите анализ данных code scanning на определенной платформе (например, macOS).
- У вас есть детальный контроль над рабочей нагрузкой для ваших GitHubразмещенных средств выполнения и локальных модулей выполнения.
О продвинутой настройке
Расширенная настройка для 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 в стороннюю систему или использовать другое стороннее средство статического анализа, которое может создавать результаты в виде формата обмена статическими результатами анализа (SARIF) 2.1.0. Дополнительные сведения см. в разделе [AUTOTITLE и Сведения о интерфейсе командной строки CodeQL](/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning).
Оповещения для code scanning, создаваемые внешним образом, отображаются так же, как и для code scanning, создаваемых в GitHub.
Дальнейшие шаги
Вы можете включить настройки по умолчанию для одного репозитория, нескольких репозиториев или всех репозиториев организации одновременно.
- Для отдельного репозитория см. Настройка настройки по умолчанию для сканирования кода.
- Для массового активирования см. АВТОЗАГОЛОВОК.
Для настройки расширенной настройки см. Настройка расширенной настройки для сканирования кода.