Skip to main content

Пакеты запросов CodeQL

Вы можете выбрать разные встроенные наборы запросов CodeQL для использования в настройке CodeQL code scanning.

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

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

В этой статье

Примечание.

В этой статье описываются функции, доступные в пакете CodeQL CLI 2.21.4 в первоначальном выпуске GitHub Enterprise Server 3.18.

Если администратор сайта обновил версию CodeQL CLI до более новой версии, ознакомьтесь с версией GitHub Enterprise Cloud этой статьи, чтобы узнать о последних функциях.

О пакетах CodeQL

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

Пакет CodeQL CLI включает запросы, которые обслуживают эксперты GitHub, исследователи безопасности и участники сообщества. Если вы хотите выполнять запросы, разработанные другими организациями, пакеты запросов CodeQL предоставляют эффективный и надежный способ загрузки и выполнения запросов, а пакеты моделей (public preview) можно использовать для расширения анализа code scanning для распознавания библиотек и платформ, которые не поддерживаются по умолчанию.

Типы пакетов CodeQL

Существует три типа пакетов CodeQL : пакеты запросов, пакеты библиотек и пакеты моделей.

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

  • Пакеты библиотек предназначены для использования пакетами запросов (или другими пакетами библиотек) и не содержат сами запросы. Библиотеки не компилируются отдельно.

  • Пакеты моделей можно использовать для расширения анализа code scanning для распознавания библиотек и платформ, которые по умолчанию не поддерживаются. Пакеты моделей в настоящее время находятся в public preview и подвергаются изменению. Во время анализа public previewпакеты моделей доступны для анализа C/C++, C#, Java/Kotlin, Python, и Ruby. Дополнительные сведения о создании собственных пакетов моделей см. в разделе Создание и работа с пакетами CodeQL.

Где найти пакеты запросов

Стандартные пакеты данных CodeQL для всех поддерживаемых языков публикуются в Container registry. Если вы установили CodeQL CLI стандартным способом, используя пакет CodeQL CLI, основные пакеты запросов уже скачиваются и доступны для вас. В их число входят:

  • codeql/cpp-queries
  • codeql/csharp-queries
  • codeql/go-queries
  • codeql/java-queries
  • codeql/javascript-queries
  • codeql/python-queries
  • codeql/ruby-queries
  • codeql/swift-queries

Можно также использовать CodeQL CLI для создания собственных пакетов CodeQL, добавления зависимостей в пакеты и установки или обновления зависимостей.

Вы можете публиковать созданные пакеты CodeQL с помощью созданных пакетов CodeQL CLI. Дополнительные сведения о публикации и скачивании пакетов CodeQL см. в разделе Публикация и использование пакетов CodeQL.