Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

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

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

Code scanning доступно в репозиториях, принадлежащих организациям, в GitHub Enterprise Server. Для этой функции требуется лицензия на GitHub Advanced Security. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

Сведения о code scanning

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

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

  • CodeQL: использует GitHub Actions (см. ниже) или выполняет анализ CodeQL в сторонней системе непрерывной интеграции (CI) (см. сведения о CodeQL code scanning в системе CI).

  • Третья‑сторона: использует GitHub Actions или сторонние средства и отправляет результаты в GitHub Enterprise Server (см. раздел Отправка ФАЙЛА SARIF в GitHub).

Проверка того, включает ли ваша лицензия GitHub Advanced Security

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

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

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

Настройка локального средства выполнения

GitHub Enterprise Server может выполнять code scanning с помощью рабочего процесса GitHub Actions. Во-первых, необходимо подготовить одно или несколько локальных средств выполнения GitHub Actions в вашей среде. Вы можете предоставить локальные средства выполнения на уровне репозитория, организации или корпоративной учетной записи. Дополнительные сведения см. в разделах Сведения о локальных средствах выполнения и Добавление локальных средств выполнения.

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

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

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

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

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

Настройка анализа 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. Дополнительные сведения см. в разделе Включение GitHub Connect.
  2. Кроме того, необходимо включить GitHub Actions для your GitHub Enterprise Server instance. Дополнительные сведения см. в разделе Начало работы с GitHub Actions для GitHub Enterprise Server.
  3. Следующим шагом является настройка доступа к действиям в GitHub.com с помощью GitHub Connect. Дополнительные сведения см. в статье "Включение автоматического доступа к действиям GitHub.com с помощью GitHub Connect".
  4. Добавьте локальное средство выполнения в репозиторий, организацию или корпоративную учетную запись. Дополнительные сведения см. в разделе Добавление локальных средств выполнения.

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

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

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