Примечание.
В этой статье описываются функции, доступные в пакете CodeQL CLI 2.22.4 в первоначальном выпуске GitHub Enterprise Server 3.19.
Если администратор сайта обновил версию 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-queriescodeql/csharp-queriescodeql/go-queriescodeql/java-queriescodeql/javascript-queriescodeql/python-queriescodeql/ruby-queriescodeql/swift-queries
Можно также использовать CodeQL CLI для создания собственных пакетов CodeQL, добавления зависимостей в пакеты и установки или обновления зависимостей.
Вы можете публиковать созданные пакеты CodeQL с помощью созданных пакетов CodeQL CLI. Дополнительные сведения о публикации и скачивании пакетов CodeQL см. в разделе Публикация и использование пакетов CodeQL.