Skip to main content

Настройка расширенной настройки для сканирования кода

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

Кто может использовать эту функцию?

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

Code scanning доступен для следующих типов репозитория:

  • Общедоступные репозитории для GitHub.com
  • Репозитории, принадлежащие организации, на GitHub Team, GitHub Enterprise Cloud или GitHub Enterprise Server, с включённым GitHub Advanced Security .

Примечание.

Администратор сайта должен включить code scanning перед использованием этой функции. Если вы хотите использовать GitHub Actions для сканирования кода, администратор сайта также должен включить GitHub Actions и настроить необходимую инфраструктуру. Дополнительные сведения см. в разделе Настройка сканирования кода для устройства.

Примечание.

В этой статье описываются функции, доступные в версии действия CodeQL и связанного пакета CodeQL CLI в первоначальном выпуске этой версии GitHub Enterprise Server. Если ваше предприятие использует более последнюю версию действия CodeQL, ознакомьтесь с версией GitHub Enterprise Cloud этой статьи, чтобы узнать о последних функциях. Сведения об использовании последней версии см. в разделе Настройка сканирования кода для устройства.

Если вам не нужна высоконастраиваемая code scanning конфигурация, рассмотрите вариант настройки по умолчанию для code scanning. Дополнительные сведения см. в разделе О типах настроек для сканирования кода.

Необходимые условия

Ваш репозиторий имеет право на расширенную настройку, если она соответствует этим требованиям.

  • Он использует CodeQLподдерживаемые языки или вы планируете генерировать результаты сканирования кода с помощью стороннего инструмента.
  • GitHub Actions включен.
  • Параметр GitHub Advanced Security включен.

Если сервер, на котором вы работаете GitHub Enterprise Server , не подключён к интернету, администратор сайта может включить CodeQLcode scanning его, сделав CodeQL аналитический пакет доступным на сервере. Дополнительные сведения см. в разделе Настройка сканирования кода для устройства.

Настройка расширенной настройки для code scanning с CodeQL

Вы можете настроить свой CodeQL анализ, создав и отредактировав файл рабочего процесса. Выбор расширенной настройки создаёт базовый файл рабочего процесса, который можно настроить с использованием стандартного синтаксиса рабочего процесса и указать параметры действия CodeQL . См. раздел [AUTOTITLE и Рабочие процессы](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning).

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В разделе "Безопасность" боковой панели щелкните Code security.

  4. Прокрутите вниз до «Code scanning», в строке «CodeQL анализ», выберите «Настройка», затем нажмите «Продвинуто».

    Примечание.

    Если вы переключаетесь с настройки по умолчанию на расширенную конфигурацию, в строке «CodeQL анализ» выберите , затем нажмите Переключиться на расширенное. В всплывающем окне нажмите Отключить CodeQL.

    Снимок экрана: раздел "Code scanning" параметров "Code security". Кнопка "Расширенная настройка" выделена оранжевым контуром.

  5. Чтобы настроить способ code scanning сканирования кода, отредактируйте рабочий процесс.

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

    Дополнительные сведения см. в разделе [AUTOTITLE и Параметры настройки рабочих процессов для сканирования кода](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages).

  6. Нажмите кнопку "Зафиксировать изменения", чтобы отобразить форму изменений фиксации.

    Снимок экрана: форма для создания нового файла. Справа от имени файла зеленая кнопка с меткой "Фиксация изменений...", выделена темно-оранжевым цветом.

  7. В поле сообщения фиксации введите сообщение фиксации.

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

  9. Нажмите кнопку "Зафиксировать новый файл", чтобы зафиксировать файл рабочего процесса в ветвь по умолчанию или щелкните "Предложить новый файл", чтобы зафиксировать файл в новую ветвь.

  10. Если вы создали новую ветвь, нажмите кнопку "Создать запрос на вытягивание" и откройте запрос на вытягивание, чтобы объединить изменение в ветвь по умолчанию.

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

Триггеры on:pull_request и on:push для проверки кода используются для разных целей. См. раздел [AUTOTITLE и Параметры настройки рабочих процессов для сканирования кода](/actions/using-workflows/triggering-a-workflow).

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

Дальнейшие действия

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

Узнайте, как code scanning пробеги ведут себя как проверки pull request, см. Рассмотрение оповещений проверки кода в запросах на вытягивание.

Подробную информацию о вашей code scanning конфигурации, включая временные метки для каждого сканирования и процент отсканированных файлов, можно найти на странице статуса инструмента. Дополнительные сведения см. в разделе Используйте страницу статуса инструмента для сканирования кода.

Дополнительные материалы

  •         [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests).
    
  •         [AUTOTITLE](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#github-actions-notification-options).
    
  •         [AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning).
    
  •         [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs).