Около 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продуктов для вашего бизнеса.
Предварительные требования для code scanning
-
Лицензия на GitHub Code Security или GitHub Advanced Security, (см. GitHub Advanced Security Выставление счетов за лицензии)
-
Code scanning включено в консоли управления (см. Создание GitHub Advanced Securityпродуктов для вашего бизнеса)
-
Виртуальная машина или контейнер для code scanning анализа.
Запуск code scanning с использованием GitHub Actions
Подготовка локального runner
GitHub Может работать code scanning с помощью рабочего GitHub Actions процесса. Во-первых, вам нужно предоставить одного или нескольких самостоятельных GitHub Actions бегунов в вашей среде. Вы можете предоставить локальные средства выполнения на уровне репозитория, организации или корпоративной учетной записи. См. раздел [AUTOTITLE и [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners)](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners).
Вы должны убедиться, что Git находится в переменной PATH на любых самохостированных раннерах, которые вы используете для выполнения CodeQL действий.
Примечание.
Если вы используете CodeQLcode scanning для анализа кода, написанного на Python в вашем предприятии, убедитесь, что ваш самостоятельный раннер установлен Python 3.
Подготовка масштабируемого набора runner
Вы можете создать Actions Runner Controller отдельный набор масштабов раннера для вашего GitHub Enterprise Server экземпляра. См . раздел AUTOTITLE.
Предоставление действий для code scanning
Если вы хотите использовать действия для запуска code scanning , GitHub Enterprise Serverдействия должны быть доступны на вашем устройстве.
Действие CodeQL включено в вашу установку GitHub Enterprise Server. Если оба GitHub Enterprise Server3.21 и GitHub Actions ваш участник имеют доступ к интернету, действие автоматически скачает набор CodeQL2.24.3 , необходимый для анализа. В качестве альтернативы можно использовать инструмент синхронизации, чтобы сделать последнюю выпущенную версию CodeQL аналитического пакета доступной локально. См. ниже раздел «Конфигурирование CodeQL анализа на сервере без доступа к интернету ».
Вы также можете сделать сторонние действия доступными для пользователей для code scanning, настроив GitHub Connect. См . раздел AUTOTITLE ниже.
Настройка CodeQL анализа на сервере без доступа к интернету
Если сервер, на котором вы работаетеGitHub Enterprise Server, не подключён к интернету, и вы хотите позволить пользователям включитьCodeQLcode scanningрепозитории, вам нужно использовать CodeQL инструмент синхронизации действий, чтобы скопировать CodeQL аналитический пакет на GitHub.com ваш сервер. Средство и сведения о его использовании доступны по адресу https://github.com/github/codeql-action-sync-tool.
Если настроить CodeQL инструмент синхронизации действий, можно использовать его для синхронизации последних релизов CodeQL действия и связанного CodeQL аналитического пакета. Они совместимы с GitHub Enterprise Server.
Настройка GitHub Connect для синхронизации GitHub Actions
- Если вы хотите скачать рабочие процессы действий по запросу из GitHub.com, вам нужно включить GitHub Connect. См . раздел AUTOTITLE.
- Вам также нужно будет включить GitHub Actions. См . раздел AUTOTITLE.
- Следующий шаг — настроить доступ к действиям на GitHub.com с помощью GitHub Connect. См . раздел AUTOTITLE.
- Добавьте локальное средство выполнения в репозиторий, организацию или корпоративную учетную запись. См . раздел AUTOTITLE.
Запуск сканирования кода с помощью CodeQL CLI
Если не хотите GitHub Actionsиспользовать , лучше запускать code scanning с CodeQL CLI.
Это CodeQL CLI инструмент командной строки, который используется для анализа кодовых баз на любой машине, включая стороннюю систему CI/CD. См . раздел AUTOTITLE.