Skip to main content

результаты интерпретации базы данных

[Сантехника] Интерпретируйте результаты вычисляемого запроса в значимые форматы, такие как SARIF или CSV.

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

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

Примечание.

Это содержимое описывает последний выпуск данных CodeQL CLI. Дополнительные сведения об этом выпуске см. в статье https://github.com/github/codeql-cli-binaries/releases.

Чтобы просмотреть сведения о параметрах, доступных для этой команды в предыдущем выпуске, выполните команду с --help параметром в терминале.

Краткие сведения

Shell
codeql database interpret-results --format=<format> --output=<output> [--threads=<num>] <options>... -- <database> <file|dir|suite>...

Description

[Сантехника] Интерпретируйте вычисляемый запрос в значимые форматы, такие как SARIF или CSV.

Результаты должны быть вычислены и сохранены в каталоге базы данных CodeQL с помощью запросов запуска базы данных codeql. (Обычно эти действия необходимо выполнить вместе с помощью анализа базы данных codeql.

Параметры

Основные параметры

<database>

[Обязательный] Путь к базе данных CodeQL, запрашиваемой.

<file|dir|suite>...

Повторите спецификацию, в которой были выполнены запросы.

Если опущено, интерфейс командной строки определит подходящий набор запросов, используя ту же логику, что и run-запросы базы данных codeql.

(В будущей версии ее следует опустить и интерпретировать все результаты, найденные в базе данных. Это славное будущее еще не. К сожалению.)

--format=<format>

[Обязательный] Формат, в котором нужно записать результаты. Одно из двух значений:

csv: форматированные значения, разделенные запятыми, включая столбцы с метаданными правила и оповещения.

sarif-latest: формат обмена статическими результатами анализа (SARIF), формат на основе JSON для описания результатов статического анализа. Этот параметр формата использует последнюю поддерживаемую версию (версии 2.1.0). Этот параметр не подходит для использования в автоматизации, так как он создает разные версии SARIF между различными версиями CodeQL.

sarifv2.1.0: SARIF версии 2.1.0.

graphtext: текстовый формат, представляющий граф. Совместим только с запросами с графом @kind .

dgml: язык разметки графа, формат на основе XML для описания графов. Совместим только с запросами с графом @kind .

dot: язык Graphviz DOT, текстовый формат для описания графов. Совместим только с запросами с графом @kind .

-o, --output=<output>

[Обязательный] Выходной путь для записи результатов. Для форматов графов это должен быть каталог, а результат (или результаты, если эта команда поддерживает интерпретацию нескольких запросов) будут записаны в этом каталоге.

--max-paths=<maxPaths>

Максимальное количество путей для каждого оповещения с путями. (По умолчанию: 4)

--[no-]sarif-add-file-contents

[Форматы SARIF] Включите полное содержимое файла для всех файлов, на которые ссылается по крайней мере один результат.

--[no-]sarif-add-snippets

[Форматы SARIF] Включите фрагменты кода для каждого расположения, указанного в результатах, с двумя строками контекста до и после указанного расположения.

--[no-]sarif-add-query-help

[Форматы SARIF] Нерекомендуемые [] Включите справку по запросу Markdown для всех запросов. Он загружает справку по запросу /path/to/query.ql из файла /path/to/query.md. Если этот флаг не предоставляется по умолчанию, необходимо включить справку только для пользовательских запросов, т. е. тех, которые находятся в пакетах запросов, которые не относятся к коду формы`/lang&rt;-querys`<. Этот параметр не действует при передаче в кодql bqrs интерпретации.

--sarif-include-query-help=<mode>

[Форматы SARIF] Укажите, следует ли включать справку по запросу в выходные данные SARIF. Одно из двух значений:

always: включите справку по запросу для всех запросов.

custom_queries_only(по умолчанию): включите справку запроса только для пользовательских запросов, т. е. тех, которые находятся в пакетах запросов, которые не относятся к `коде формы/<lang&rt;-querys`.

never: не включать справку по запросу для каких-либо запросов.

Этот параметр не действует при передаче в кодql bqrs интерпретации.

Доступно с момента v2.15.2.

--no-sarif-include-alert-provenance

[[Расширенные форматы SARIF] Не включайте сведения о происхождении оповещений в выходные данные SARIF.

Доступно с момента v2.18.1.

--[no-]sarif-group-rules-by-pack

[Форматы SARIF] Поместите объект правила для каждого запроса в соответствующий пакет QL в свойстве <run>.tool.extensions . Этот параметр не действует при передаче в кодql bqrs интерпретации.

--[no-]sarif-multicause-markdown

[Форматы SARIF] Только для оповещений с несколькими причинами включите их в виде элемента, отформатированного Markdown, в выходные данные в дополнение к обычной строке.

--no-sarif-minify

[Только форматы SARIF] Создание довольно печатных выходных данных SARIF. По умолчанию выходные данные SARIF минимируются, чтобы уменьшить размер выходного файла.

--sarif-run-property=<String=String>

[Форматы SARIF] Пара значений ключа, добавляемая в созданный контейнер свойств SARIF "run". Может повторяться.

--no-group-results

[Форматы SARIF] Создает один результат для каждого сообщения, а не один результат на уникальное расположение.

--csv-location-format=<csvLocationFormat>

Формат, в котором создаются расположения в выходных данных CSV. Один из: URI, строка столбца, длина смещения. (По умолчанию: line-column)

--dot-location-url-format=<dotLocationUrlFormat>

Строка формата, определяющая формат, в котором создаются URL-адреса расположения файлов в выходных данных DOT. Следующие держатели мест можно использовать {path} {start:line} {start:column} {end:line} {end:column}, {offset}, {length}

--[no-]sublanguage-file-coverage

[GitHub.com и GitHub Enterprise Server версии 3.12.0+ используйте сведения о охвате вложенных файлов. Это вычисляет, отображает и экспортирует отдельные сведения о охвате файлов для языков, которые совместно используют средство извлечения CodeQL, такие как C и C++, Java и Kotlin, и JavaScript и TypeScript.

Доступно с момента v2.15.2.

--sarif-category=<category>

[Только форматы SARIF] [Рекомендуется] Укажите категорию для этого анализа, включаемую в выходные данные SARIF. Категорию можно использовать для различения нескольких анализов, выполняемых в одном и том же фиксации и репозитории, но на разных языках или в разных частях кода.

Если вы анализируете одну и ту же версию базы кода различными способами (например, для разных языков) и отправляете результаты в GitHub для презентации в сканировании кода, это значение должно отличаться между каждым из анализов, что указывает сканирование кода, что дополнение_ к анализу_, а не заменять друг друга. (Значения должны быть согласованы между выполнением одного и того же анализа для разных версий базы кода.)

Это значение будет отображаться (с косой косой чертой, добавленной, если она еще не присутствует) в качестве <run>.automationDetails.id свойства.

-j, --threads=<num>

Количество потоков, используемых для вычислительных путей.

По умолчанию равен 1. Вы можете передать 0 для использования одного потока на ядро на компьютере или -N, чтобы оставить неиспользуемые ядра N (за исключением того, что по-прежнему используется хотя бы один поток).

--no-database-extension-packs

[Дополнительно] Опустить пакеты расширений, хранящиеся в базе данных во время создания базы данных, из файла конфигурации сканирования кода или из файлов расширений, хранящихся в каталоге расширений проанализированной базы кода.

--[no-]print-diagnostics-summary

Напечатать сводку по проанализированным диагностика стандартным выходным данным.

--[no-]print-metrics-summary

Вывод сводки по проанализированным метрикам в стандартные выходные данные.

--[no-]print-baseline-loc

Печать базовых строк кода, которые учитываются в стандартных выходных данных.

Параметры настройки диспетчера пакетов CodeQL

--registries-auth-stdin

Проверка подлинности в реестрах контейнеров GitHub Enterprise Server путем передачи <registry_url>=<token> разделенного запятыми списка пар.

Например, можно передать https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2 для проверки подлинности на двух экземплярах GitHub Enterprise Server.

При этом переопределяются переменные среды маркера токена CODEQL_И_AUTH и GITHUB_. Если вам нужно выполнить проверку подлинности только в реестре контейнеров github.com, можно вместо этого выполнить проверку подлинности с помощью более --github-auth-stdin простого параметра.

--github-auth-stdin

Проверка подлинности в реестре контейнеров github.com путем передачи маркера github.com GitHub Apps или личного маркера доступа через стандартные входные данные.

Чтобы пройти проверку подлинности в реестрах контейнеров GitHub Enterprise Server, передайте --registries-auth-stdin или используйте переменную среды AUTH CODEQL_REGISTRIES_.

Это переопределяет переменную среды токена GITHUB_.

Параметры для указания расширений, используемых при интерпретации результатов

--model-packs=<name@range>...

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

Параметры поиска пакетов QL (которые могут потребоваться для интерпретации наборов запросов)

--search-path=<dir>[:<dir>...]

Список каталогов, в которых можно найти пакеты QL. Каждый каталог может быть пакетом QL (или пакетом пакетов, содержащих .codeqlmanifest.json файл в корневом каталоге) или непосредственным родительским элементом одного или нескольких таких каталогов.

Если путь содержит несколько каталогов, их порядок определяет приоритет между ними: когда имя пакета, которое должно быть разрешено, совпадает с несколькими деревьями каталогов, то один из первых побед.

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

Если вы проверили репозиторий CodeQL как одноуровневую цепочку инструментов CodeQL, вам не нужно предоставлять этот параметр; Такие каталоги с братом всегда будут искать пакеты QL, которые не удается найти в противном случае. (Если это значение по умолчанию не работает, настоятельно рекомендуется настроить --search-path один раз и для всех в файле конфигурации для каждого пользователя).

(Примечание. В Windows разделитель путей имеет значение ;).

--additional-packs=<dir>[:<dir>...]

Если указан этот список каталогов, они будут искать пакеты до тех, в которых они есть --search-path. Порядок между ними не имеет значения; Это ошибка, если имя пакета найдено в двух разных местах в этом списке.

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

(Примечание. В Windows разделитель путей имеет значение ;).

Распространенные параметры

-h, --help

Отображение этого текста справки.

-J=<opt>

[Дополнительно] Укажите параметр JVM, выполняя команду.

(Убедитесь, что параметры, содержащие пробелы, не будут обрабатываться правильно.)

-v, --verbose

Постепенно увеличьте число отображаемых сообщений о ходе выполнения.

-q, --quiet

Постепенно уменьшайте количество отображаемых сообщений о ходе выполнения.

--verbosity=<level>

[Дополнительно] Явным образом задайте уровень детализации на одну из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет -v и -q.

--logdir=<dir>

[Дополнительно] Запись подробных журналов в один или несколько файлов в указанном каталоге с созданными именами, включающими метки времени и имя выполняющегося подкоманда.

(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого предоставьте --log-to-stderr и перенаправите stderr по мере необходимости.)

--common-caches=<dir>

[Дополнительно] Управляет расположением кэшированных данных на диске, которые будут сохраняться между несколькими запусками интерфейса командной строки, такими как скачанные пакеты QL и скомпилированные планы запросов. Если этот параметр не задан явным образом, по умолчанию используется каталог с именем .codeql в домашнем каталоге пользователя; он будет создан, если он еще не существует.

Доступно с момента v2.15.2.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy