Skip to main content

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

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

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

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

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

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

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

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

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

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

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

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

При использовании действий для запуска code scanning используются минуты. Дополнительные сведения см. в разделе Биллинг GitHub Actions.

Примечание.

Вы можете настроить code scanning любой публичный репозиторий, где есть доступ к записи.

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

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

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

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

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

    Примечание.

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

    Снимок экрана: раздел "Code Security" параметров "Advanced 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 с помощью действий третьих лиц

          GitHub включает шаблоны рабочих процессов для действий третьих лиц, а также действие CodeQL . Использование шаблона рабочего процесса гораздо проще, чем написание рабочего процесса неопроверченным.

При использовании действий для запуска code scanning используются минуты. Дополнительные сведения см. в разделе Биллинг GitHub Actions.

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

  2. Под именем репозитория щелкните Actions.

    Снимок экрана: вкладки для репозитория github/docs. Вкладка "Действия" выделена оранжевым контуром.

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

    Снимок экрана: вкладка "Действия" для репозитория. Кнопка "Новый рабочий процесс" описана в темно-оранжевый цвет.

  4. В просмотре «Выберите рабочий процесс» или «Начать с GitHub Actions» прокрутите вниз до категории «Безопасность» и нажмите «Наладить » в нужном вам рабочем процессе. Чтобы найти рабочий процесс безопасности, вам может потребоваться щелкнуть "Просмотреть все ", чтобы найти рабочий процесс безопасности, который требуется настроить.

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

  5. Следуйте инструкциям в рабочем процессе, чтобы настроить его в соответствии с вашими потребностями. Чтобы получить более общую помощь по рабочим процессам, щелкните "Документация " в правой области страницы рабочего процесса.

    Снимок экрана: файл шаблона рабочего процесса, открытый для редактирования. Кнопка "Документация" выделена оранжевым контуром.

  6. Завершив определение конфигурации, добавьте новый рабочий процесс в ветвь по умолчанию.

    Дополнительные сведения см. в разделе [AUTOTITLE и Использование шаблонов рабочих процессов](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning).

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

После того как ваш рабочий процесс успешно пройдёт хотя бы один раз, вы готовы приступить к анализу и разрешению 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).