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

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

Если вам не нужна высоконастраиваемая code scanning конфигурация, рассмотрите вариант настройки по умолчанию для code scanning. Дополнительные сведения см. в разделе [О типах настроек для сканирования кода](/ru/code-security/concepts/code-scanning/setup-types).

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

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

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

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

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

При использовании действий для запуска code scanning используются минуты. Дополнительные сведения см. в разделе [Биллинг GitHub Actions](/ru/billing/managing-billing-for-github-actions/about-billing-for-github-actions).

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

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

2. Под именем репозитория щелкните **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-gear" aria-label="gear" role="img"><path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path></svg> Settings**. Если вкладка "Параметры" не отображается, выберите **раскрывающееся меню <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="More" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>** и нажмите кнопку **"Параметры**".

   ![Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.](/assets/images/help/repository/repo-actions-settings.png)

3. В разделе "Безопасность" боковой панели щелкните **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-codescan" aria-label="codescan" role="img"><path d="M8.47 4.97a.75.75 0 0 0 0 1.06L9.94 7.5 8.47 8.97a.75.75 0 1 0 1.06 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0ZM6.53 6.03a.75.75 0 0 0-1.06-1.06l-2 2a.75.75 0 0 0 0 1.06l2 2a.75.75 0 1 0 1.06-1.06L5.06 7.5l1.47-1.47Z"></path><path d="M12.246 13.307a7.501 7.501 0 1 1 1.06-1.06l2.474 2.473a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM1.5 7.5a6.002 6.002 0 0 0 3.608 5.504 6.002 6.002 0 0 0 6.486-1.117.748.748 0 0 1 .292-.293A6 6 0 1 0 1.5 7.5Z"></path></svg> Advanced Security**.

4. Прокрутите вниз до «Code Security», в строке «CodeQL анализ», выберите **«Настройка»,**<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-triangle-down" aria-label="triangle-down" role="img"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg> затем нажмите **«Продвинуто**».

   > \[!NOTE]
   > Если вы переключаетесь с настройки по умолчанию на расширенную конфигурацию, в строке «CodeQL анализ» выберите <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="Menu" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>, затем нажмите **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-workflow" aria-label="workflow" role="img"><path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path></svg> Переключиться на расширенное**. В всплывающем окне нажмите **Отключить CodeQL**.

   ![Снимок экрана: раздел "Code Security" параметров "Advanced Security". Кнопка "Расширенная настройка" выделена оранжевым контуром.](/assets/images/help/security/advanced-code-scanning-setup-ghas.png)

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

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

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

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

   ![Снимок экрана: форма для создания нового файла. Справа от имени файла зеленая кнопка с меткой "Фиксация изменений...", выделена темно-оранжевым цветом.](/assets/images/help/repository/start-commit-commit-new-file.png)

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

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

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

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

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

Триггеры `on:pull_request` и `on:push` для проверки кода используются для разных целей. См. раздел \[AUTOTITLE и [Параметры настройки рабочих процессов для сканирования кода](/ru/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#scan-frequency)]\(/actions/using-workflows/triggering-a-workflow).

Сведения о массовом включении см. в разделе [Настройка расширенной настройки для сканирования кода с помощью CodeQL в масштабе](/ru/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-advanced-setup-for-code-scanning-with-codeql-at-scale).

## Настройка code scanning с помощью действий третьих лиц

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

При использовании действий для запуска code scanning используются минуты. Дополнительные сведения см. в разделе [Биллинг GitHub Actions](/ru/billing/managing-billing-for-github-actions/about-billing-for-github-actions).

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

2. Под именем репозитория щелкните **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-play" aria-label="play" role="img"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path></svg> Actions**.

   ![Снимок экрана: вкладки для репозитория github/docs. Вкладка "Действия" выделена оранжевым контуром.](/assets/images/help/repository/actions-tab-global-nav-update.png)

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

   ![Снимок экрана: вкладка "Действия" для репозитория. Кнопка "Новый рабочий процесс" описана в темно-оранжевый цвет.](/assets/images/help/security/actions-new-workflow-button.png)

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

   ![Снимок экрана: категория "Безопасность" шаблонов рабочих процессов. Кнопка "Настройка" и "Просмотреть все" выделены оранжевым контуром.](/assets/images/help/security/actions-workflows-security-section.png)

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

   ![Снимок экрана: файл шаблона рабочего процесса, открытый для редактирования. Кнопка "Документация" выделена оранжевым контуром.](/assets/images/help/security/actions-workflows-documentation.png)

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

   Дополнительные сведения см. в разделе \[AUTOTITLE и [Использование шаблонов рабочих процессов](/ru/actions/learn-github-actions/using-starter-workflows#choosing-and-using-a-starter-workflow)]\(/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning).

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

После того как ваш рабочий процесс успешно пройдёт хотя бы один раз, вы готовы приступить к анализу и разрешению code scanning оповещений. Для получения дополнительной информации об code scanning уведомлениях смотрите [О предупреждениях о сканировании кода](/ru/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts) и [Оценка оповещений сканирования кода для репозитория](/ru/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository).

Узнайте, как code scanning пробеги ведут себя как проверки pull request, см. [Рассмотрение оповещений проверки кода в запросах на вытягивание](/ru/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests#about-code-scanning-as-a-pull-request-check).

Подробную информацию о вашей code scanning конфигурации, включая временные метки для каждого сканирования и процент отсканированных файлов, можно найти на странице статуса инструмента. Дополнительные сведения см. в разделе [Используйте страницу статуса инструмента для сканирования кода](/ru/code-security/code-scanning/managing-your-code-scanning-configuration/about-the-tool-status-page).

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

* [Рассмотрение оповещений проверки кода в запросах на вытягивание](/ru/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests).
* [Настройка уведомлений](/ru/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#github-actions-notification-options).
* [Параметры настройки рабочих процессов для сканирования кода](/ru/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning).
* [Просмотр логов сканирования кода из GitHub Actions](/ru/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs).