Сведения о настройке по умолчанию
Настройка по умолчанию для 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, вы можете определить, как строить скомпилированные языки, выбирать запросы для запуска, выбирать языки для сканирования, использовать матричную сборку и многое другое. Кроме того, у вас есть доступ ко всем параметрам управления рабочими процессами, например изменение расписания сканирования, определение триггеров рабочих процессов, указание используемых специалистов.
Администратор вашего сайта также может предоставить пользователям сторонние действия для code scanning, настроив GitHub Connect. Дополнительные сведения см. в разделе Настройка сканирования кода для устройства.
С помощью сторонней системы 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.
Дальнейшие шаги
Вы можете включить настройки по умолчанию для одного репозитория, нескольких репозиториев или всех репозиториев организации одновременно.
- Для отдельного репозитория см. Настройка настройки по умолчанию для сканирования кода.
- Для массового активирования см. АВТОЗАГОЛОВОК.
Для настройки расширенной настройки см. Настройка расширенной настройки для сканирования кода.