Параметры настройки code scanning
Вы сами решаете, как будут формироваться оповещения code scanning и какие средства будут использоваться, на уровне репозитория. GitHub обеспечивает полную интегрированную поддержку анализа CodeQL и поддерживает анализ с использованием сторонних средств. Дополнительные сведения см. в следующих маркерах и разделе Сведения о code scanning.
-
CodeQL: использует GitHub Actions с настройкой по умолчанию (см. раздел "Настройка code scanning автоматически") или расширенную настройку (см. раздел "Создание расширенной установки") или выполняет анализ CodeQL в сторонней системе непрерывной интеграции (CI) стороннего производителя (см. " Сведения о CodeQL code scanning в системе CI").
-
Третья‑сторона: использует GitHub Actions (см. раздел Настройка code scanning с помощью начальных рабочих процессов или сторонние средства и отправляет результаты в GitHub (см. раздел Отправка ФАЙЛА SARIF в GitHub).
При сканировании кода с использованием нескольких конфигураций можно получить оповещение с несколькими источниками анализа. Если оповещение имеет несколько источников анализа, состояние оповещения для каждого источника анализа можно посмотреть на странице оповещения. Дополнительные сведения см. в разделе Сведения об источниках анализа.
Автоматическая настройка code scanning
Настройка по умолчанию для code scanning автоматически настраивает code scanning с лучшими параметрами для репозитория. Репозиторий подходит для настройки по умолчанию, если он использует GitHub Actions и содержит только следующие языки, поддерживаемые CodeQL: JavaScript/TypeScript, Python или Ruby. Хотя вы можете использовать настройку по умолчанию, если репозиторий содержит языки, которые не поддерживаются CodeQL, например R, необходимо использовать расширенную настройку, если вы включаете языки, поддерживаемые CodeQL, отличные от перечисленных ранее. Дополнительные сведения о языках, поддерживаемых CodeQL, см. в разделе Сведения о code scanning с CodeQL.
Включение настройки по умолчанию — это самый быстрый способ настройки code scanning для репозитория. Кроме того, при настройке по умолчанию не требуется обслуживание файла рабочего процесса CodeQL. Перед включением настройки по умолчанию вы увидите языки, которые будут анализироваться, наборы запросов, которые будут выполняться, а также события, которые активируют новую проверку.
Попробуйте выполнить настройку по умолчанию, если вам не нужно выполнять дополнительные запросы, изменять расписание сканирования или проверять язык, который в настоящее время не поддерживается установкой по умолчанию.
-
На GitHub.com перейдите на главную страницу репозитория. 1. Нажмите Параметры под именем репозитория.
-
В разделе "Безопасность" на боковой панели щелкните Безопасность и анализ кода.
-
В разделе "Code scanning" выберите Настройка , а затем нажмите кнопку По умолчанию.

-
В появившемся окне конфигурации CodeQL по умолчанию просмотрите параметры репозитория, а затем щелкните Включить CodeQL.

Примечания.
- В окне конфигурации по умолчанию CodeQL отображаются сведения о настройке по умолчанию, включая языки для анализа, наборы запросов для выполнения и события, запускающие новое сканирование. Если вы хотите изменить, какие наборы запросов будут выполняться, какие события активируют новую проверку, или другие функции code scanning, необходимо использовать расширенную настройку. Дополнительные сведения см. в разделе Создание расширенной установки.
- При переключении на установку по умолчанию из расширенной установки вы увидите предупреждение о том, что программа установки по умолчанию переопределит существующие конфигурации. После включения CodeQL обязательно удалите или отключите существующий файл рабочего процесса. В противном случае рабочий процесс будет продолжать регулярно выполняться без отправки результатов code scanning, используя GitHub Actions минут.
- Если вы хотите увидеть настройку по умолчанию CodeQL после настройки, выберите , а затем щелкните Просмотреть конфигурацию CodeQL.
Создание расширенной настройки
Расширенная настройка code scanning полезна, если вам нужно настроить code scanning. Создавая и изменяя файл рабочего процесса, вы можете выбрать, какие запросы следует выполнять, изменить расписание сканирования, проверить любой язык, поддерживаемый CodeQL, использовать матричную сборку и многое другое.
Настройка code scanning с помощью начальных рабочих процессов
Примечание. Начальные рабочие процессы для Advanced Security консолидированы в категории "Безопасность" на вкладке Действия в репозитории. Эта новая конфигурация пока доступна только в бета-версии и может быть изменена.
Начальные рабочие процессы GitHub предоставляет начальные рабочие процессы для таких функций обеспечения безопасности, как code scanning. Предложенные рабочие процессы можно использовать для создания рабочих процессов code scanning вместо того, чтобы начинать с нуля. Code scanning доступны для репозитория, только если включена функция code scanning.
При использовании действий для запуска code scanning используются минуты. Дополнительные сведения см. в статье Сведения о выставлении счетов за Dependabot alerts.
- На GitHub.com перейдите на главную страницу репозитория. 1. Щелкните Действия под именем репозитория.

- Если в репозитории уже настроен и запущен хотя бы один рабочий процесс, щелкните Новый рабочий процесс и перейдите к шагу 5. Если рабочие процессы для репозитория не настроены, переходите к следующему шагу.

- Прокрутите экран вниз до категории "Безопасность" и нажмите Настроить под рабочим процессом, который вы хотите настроить, или Просмотреть все, чтобы просмотреть все доступные рабочие процессы безопасности.

- В правой части страницы рабочих процессов нажмите Документация и настройте рабочий процесс в соответствии со своими потребностями, следуя инструкциям на экране.
процессов. Дополнительные сведения см. в разделах "Использование начальных рабочих процессов" и "Настройка code scanning".
Настройка code scanning вручную
Вы можете настроить code scanning, создав и изменив файл рабочего процесса. Расширенная настройка создает базовый файл рабочего процесса для настройки.
При использовании действий для запуска code scanning используются минуты. Дополнительные сведения см. в статье Сведения о выставлении счетов за Dependabot alerts.
Примечание: Вы можете настроить code scanning для любого общедоступного репозитория, в котором у вас есть доступ на запись.
-
На GitHub.com перейдите на главную страницу репозитория. 1. Нажмите Параметры под именем репозитория.
-
В разделе "Безопасность" на боковой панели щелкните Безопасность и анализ кода.
-
В разделе "Code scanning" выберите Настроить , а затем нажмите кнопку Дополнительно.
Примечание: Если вы переходите на расширенную настройку code scanning из настройки по умолчанию, в разделе "Code scanning" выберите , а затем щелкните Перейти на расширенные. Во всплывающем окне щелкните Отключить CodeQL.

-
Чтобы настроить работу code scanning по сканированию кода, измените рабочий процесс.
Как правило, Рабочий процесс анализа CodeQL можно зафиксировать, не изменяя его. Однако многие из сторонних рабочих процессов нуждаются в дополнительной настройке, поэтому перед фиксацией прочтите комментарии в рабочем процессе.
Дополнительные сведения см. в разделе Настройка code scanning.
-
Используйте раскрывающийся список Начать фиксацию и введите сообщение о фиксации.

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

-
Нажмите кнопку Commit new file (Зафиксировать новый файл) или Propose new file (Предложить новый файл).
В рекомендуемом Рабочий процесс анализа CodeQL code scanning настроен для анализа кода каждый раз, когда вы отправляете изменения в ветвь по умолчанию или в любую защищенную ветвь или создаете запрос на вытягивание для ветви по умолчанию. For more information, see "Configuring code scanning."
Триггеры on:pull_request и on:push для проверки кода используются для разных целей. Дополнительные сведения см. в разделе Настройка code scanning.
Массовая настройка code scanning
Вы можете настроить code scanning в нескольких репозиториях одновременно с помощью скрипта. Если вы хотите использовать сценарий для создания запросов на вытягивание, которые добавляют рабочий процесс GitHub Actions сразу в несколько репозиториев, см. пример с использованием PowerShell в репозитории jhutchings1/Create-ActionsPRs или nickliffen/ghas-enablement, если у команды нет PowerShell, и вместо него она хочет использовать NodeJS.
Просмотр выходных данных журнала из code scanning
После настройки code scanning для репозитория можно просмотреть выходные данные действий по мере их выполнения.
-
Щелкните Действия под именем репозитория.

Вы увидите список, содержащий запись, соответствующую рабочему процессу code scanning. Текст записи — это название, которое вы присвоили своему сообщению о фиксации.

-
Нажмите запись, соответствующую рабочему процессу code scanning
-
Нажмите на название задания слева. Например, Анализ (ЯЗЫК)

-
Просматривайте журнал результатов действий в рабочем процессе по мере их выполнения.
-
После завершения всех заданий можно просмотреть сведения о всех обнаруженных оповещениях code scanning. Дополнительные сведения см. в разделе Управление оповещениями code scanning для репозитория.
Примечание. Если вы создали запрос на вытягивание, чтобы добавить рабочий процесс code scanning в репозиторий, оповещения из этого запроса на вытягивание не будут отображаться непосредственно на странице Code scanning, пока запрос не будет объединен. Если были найдены какие-либо оповещения, их можно просмотреть до объединения запроса на вытягивание, щелкнув ссылку Число оповещений на баннере на странице Code scanning.

Общие сведения о проверках запросов на вытягивание
Каждый рабочий процесс code scanning, настроенный для выполнения запросов на вытягивание, всегда содержит как минимум две записи, указанные в разделе проверок запроса на вытягивание. Рабочий процесс включает по одной записи на каждую задачу анализа и одну запись для результатов анализа.
Имена проверок анализа code scanning имеют вид: "ИМЯ ИНСТРУМЕНТА/ИМЯ ЗАДАНИЯ (ТРИГГЕР)." Например, для CodeQL анализ кода C++ включает запись "CodeQL/Analyze (cpp) (pull_request)". Нажмите Сведения в записи анализа code scanning, чтобы просмотреть данные журнала. Это позволит устранить проблему, если задание анализа завершится сбоем. Например, при анализе скомпилированных языков с помощью code scanning это может произойти, если действие не может компилировать код.

После завершения заданий code scanning GitHub определяет, добавили ли запросы на вытягивание какие-то оповещения, и добавляет в список проверок запись "Результаты Code scanning/ИМЯ ИНСТРУМЕНТА". После того, как code scanning будет выполнено хотя бы один раз, нажмите Сведения, чтобы просмотреть результаты анализа.
Дальнейшие действия
После настройки code scanning и разрешения на выполнение его действий вы можете:
- You can customize how code scanning scans the code in your repository. Дополнительные сведения см. в разделе Управление оповещениями code scanning для репозитория.
- Просмотр оповещений, созданных для запроса на вытягивание, отправленного после настройки code scanning. Дополнительные сведения см. в разделе Рассмотрение оповещений code scanning в запросах на вытягивание.
- Настройка уведомлений о завершенных запусках. Дополнительные сведения см. в разделе Настройка уведомлений.
- Просматривать журналы, создаваемые в результате анализа code scanning. Дополнительные сведения см. в статье Просмотр журналов code scanning.
- Изучите все проблемы, возникающие при начальной настройке CodeQL code scanning. Дополнительные сведения см. в разделе Устранение неполадок в рабочем процессе CodeQL.
- Настраивать то, как code scanning сканирует код в репозитории. Дополнительные сведения см. в разделе Настройка code scanning.