Skip to main content

Enterprise Server 3.20 в настоящее время доступен в качестве кандидата на выпуск.

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

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

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

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

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

Сведения о code scanning

Code scanning — это функция, используемая для анализа кода в репозитории GitHub для поиска уязвимостей системы безопасности и ошибок кодирования. Все проблемы, выявленные анализом, отображаются в репозитории.

Вы можете настроить code scanning для выполнения анализа CodeQL, а также стороннего анализа. Code scanning также поддерживает собственный анализ с помощью GitHub Actions или внешней инфраструктуры CI/CD. Приведенные ниже маркеры суммируют параметры, доступные пользователям при настройке экземпляр GitHub Enterprise Server для разрешения code scanning с помощью действий.

  • CodeQL: использует GitHub Actions с настройкой по умолчанию (см[. AUTOTITLE) или расширенную настройку (см. autoTITLE) или выполняет анализ CodeQL в сторонней системе непрерывной интеграции (CI) (см. AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-advanced-setup-for-code-scanning-with-codeql)).
  • Третий&8209; сторона: использует GitHub Actions или сторонние средства и отправляет результаты в GitHub (см. AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)).

Проверка наличия лицензии Advanced Security

Вы можете определить, имеет ли ваша организация лицензию на Advanced Security products , просмотрив параметры предприятия. Дополнительные сведения см. в разделе Включение GitHub Advanced Security products для вашего предприятия.

Предварительные требования для code scanning

  • Лицензия на GitHub Code Security или GitHub Advanced Security, (см . AUTOTITLE)

  • Code scanning включено в консоль управления (см. autoTITLE)

  • Виртуальная машина или контейнер для выполнения анализа code scanning.

Выполнение code scanning с помощью GitHub Actions

Подготовка локального runner

GitHub может запускать code scanning с помощью рабочего процесса GitHub Actions . Во-первых, необходимо подготовить одно или несколько локальных средств выполнения GitHub Actions в вашей среде. Вы можете предоставить локальные средства выполнения на уровне репозитория, организации или корпоративной учетной записи. См. раздел [AUTOTITLE и Локальные средства выполнения тестов](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners).

Необходимо убедиться, что GIT находится в переменной PATH для любых локальных средств выполнения, которые используются для выполнения действий CodeQL.

Примечание.

Если вы используете CodeQL code scanning для анализа кода, написанного на Python в вашей организации, необходимо убедиться, что локальный модуль выполнения установлен на Python 3.

Подготовка масштабируемого набора runner

Вы можете использовать Actions Runner Controller для создания выделенного масштабируемого набора runner для экземпляра GitHub Enterprise Server . См . раздел AUTOTITLE.

Подготовка действий для code scanning

Если вы хотите использовать действия для запуска code scanning на GitHub Enterprise Server, действия должны быть доступны на устройстве.

Действие CodeQL включается в установку GitHub Enterprise Server. Если оба GitHub Enterprise Server 3.20 и средство выполнения GitHub Actions имеют доступ к Интернету, действие автоматически скачивает пакет CodeQL 2.23.9 для выполнения анализа. Кроме того, можно использовать средство синхронизации, чтобы сделать локально доступной последнюю версию пакета анализа CodeQL. См. инструкции по настройке анализа данных CodeQL на сервере без доступа к Интернету ниже.

Вы также можете сделать сторонние действия доступными пользователям для code scanning, настроив GitHub Connect. См . раздел AUTOTITLE ниже.

Настройка анализа CodeQL на сервере без доступа к Интернету

Если сервер, на котором выполняется GitHub Enterprise Server, не подключен к Интернету и вы хотите разрешить пользователям включать CodeQL code scanning для своих репозиториев, необходимо использовать средство синхронизации действий CodeQL для копирования пакета анализа CodeQL из GitHub.com на ваш сервер. Средство и сведения о его использовании доступны по адресу https://github.com/github/codeql-action-sync-tool.

Если настроить средство синхронизации действий CodeQL, его можно использовать для синхронизации последних выпусков действия CodeQL и связанного пакета анализа CodeQL. Они совместимы с GitHub Enterprise Server.

Настройка GitHub Connect для синхронизации GitHub Actions

  1. Если вы хотите скачать рабочие процессы действий по запросу из GitHub.com, необходимо включить GitHub Connect. См . раздел AUTOTITLE.
  2. Кроме того, необходимо включить GitHub Actions. См . раздел AUTOTITLE.
  3. Следующим шагом является настройка доступа к действиям в GitHub.com с помощью GitHub Connect. См . раздел AUTOTITLE.
  4. Добавьте локальное средство выполнения в репозиторий, организацию или корпоративную учетную запись. См . раздел AUTOTITLE.

Выполнение сканирования кода с помощью CodeQL CLI

Если вы не хотите использовать GitHub Actions, необходимо запустить code scanning с помощью CodeQL CLI.

CodeQL CLI — это инструмент командной строки, который используется для анализа баз кода на любом компьютере, включая стороннюю систему CI/CD. См . раздел AUTOTITLE.