Skip to main content

bqrs interpret

[Conexão] Interprete os dados em um só BQRS.

Quem pode usar esse recurso?

O CodeQL está disponível para os seguintes tipos de repositórios:

Note

Este conteúdo descreve a versão mais recente do CodeQL CLI. Para obter mais informações sobre essa versão, confira https://github.com/github/codeql-cli-binaries/releases.

Para ver os detalhes das opções disponíveis para esse comando em uma versão anterior, execute o comando com a opção --help no terminal.

Sinopse

Shell
codeql bqrs interpret --format=<format> --output=<output> -t=<String=String> [--threads=<num>] [--source-archive=<sourceArchive>] [--source-location-prefix=<sourceLocationPrefix>] <options>... -- <bqrs-file>

Descrição

[Conexão] Interprete os dados em um só BQRS.

Um comando que interpreta um só arquivo BQRS de acordo com os metadados fornecidos e gera a saída no formato especificado.

Opções

Opções principais

<bqrs-file>

[Obrigatório] O arquivo BQRS a ser interpretado.

--format=<format>

[Obrigatório] O formato no qual os resultados serão gravados. Um destes:

csv: valores formatados separados por vírgula, incluindo colunas com metadados de regra e de alerta.

sarif-latest: SARIF (Static Analysis Results Interchange Format), um formato baseado em JSON usado para descrever os resultados da análise estática. Essa opção de formato usa a versão mais recente com suporte (v2.1.0). Essa opção não é adequada para uso na automação, pois produzirá diferentes versões do SARIF entre diferentes versões do CodeQL.

sarifv2.1.0: SARIF v2.1.0.

graphtext: um formato textual que representa um grafo. Compatível apenas com consultas com o grafo @kind.

dgml: Directed Graph Markup Language, um formato baseado em XML para a descrição de grafos. Compatível apenas com consultas com o grafo @kind.

dot: linguagem DOT do Graphviz, um formato baseado em texto para a descrição de grafos. Compatível apenas com consultas com o grafo @kind.

-o, --output=<output>

[Obrigatório] O caminho de saída no qual os resultados serão gravados. Para formatos de grafo, esse deve ser um diretório, e o resultado (ou os resultados, caso o comando dê suporte à interpretação de mais de uma consulta) será gravado nesse diretório.

-t=<String=String>

[Obrigatório] Um par de valores de chave de metadados de consulta. Repita isso para cada parte dos metadados. No mínimo, as chaves 'kind' e 'id' precisam ser especificadas. As chaves não precisam ser prefixadas com @.

--max-paths=<maxPaths>

O número máximo de caminhos a serem produzidos para cada alerta com caminhos. (Padrão: 4)

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

[Somente formatos SARIF] Inclua o conteúdo completo do arquivo para todos os arquivos referenciados em, pelo menos, um resultado.

--[no-]sarif-add-snippets

[Somente formatos SARIF] Inclua snippets de código para cada local mencionado nos resultados, com duas linhas de contexto antes e depois do local relatado.

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

[Somente formatos SARIF] [Preterido] Inclua ajuda de consulta Markdown para todas as consultas. Isso carrega a ajuda de consulta para /path/to/query.ql por meio do arquivo /path/to/query.md. Se esse sinalizador não for fornecido, o comportamento padrão será incluir ajuda apenas para consultas personalizadas, ou seja, aquelas em pacotes de consulta que não são na forma `codeql/<lang&rt;-queries`. Essa opção não tem nenhum efeito quando transmitida para codeql bqrs interpret.

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

[Somente formatos SARIF] Especifique se deseja incluir ajuda de consulta na saída SARIF. Um destes:

always: Incluir ajuda de consulta para todas as consultas.

custom_queries_only(padrão): inclua ajuda de consulta apenas para consultas personalizadas, ou seja, aquelas em pacotes de consulta que não são do formulário `codeql/<lang&rt;-queries`.

never: Não inclua ajuda de consulta para quaisquer consultas.

Essa opção não tem nenhum efeito quando transmitida para codeql bqrs interpret.

Disponível desde v2.15.2.

--no-sarif-include-alert-provenance

[[Avançado] [[Somente formatos SARIF] Não inclua informações de proveniência de alerta na saída SARIF.

Disponível desde v2.18.1.

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

[Somente formatos SARIF] Coloque o objeto de regra para cada consulta no pacote QL correspondente na propriedade <run>.tool.extensions. Essa opção não tem nenhum efeito quando transmitida para codeql bqrs interpret.

--[no-]sarif-multicause-markdown

[Somente formatos SARIF] Para alertas que têm várias causas, inclua-os como uma lista de itens formatados em Markdown na saída, além de uma cadeia de caracteres sem formatação.

--no-sarif-minify

[Somente formatos SARIF] Produza uma saída SARIF impressa bonita. Por padrão, a saída SARIF é minificada para reduzir o tamanho do arquivo de saída.

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

[Somente formatos SARIF] Um par de valores de chave a ser adicionado ao recipiente de propriedades 'run' do SARIF gerado. Pode ser repetido.

--no-group-results

[Somente formatos SARIF] Produz um resultado por mensagem, em vez de um resultado por local exclusivo.

--csv-location-format=<csvLocationFormat>

O formato no qual os locais serão produzidos na saída CSV. Um dos seguintes: uri, line-column ou offset-length. (Padrão: linha-coluna)

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

Uma cadeia de caracteres de formato que define o formato no qual as URLs de local do arquivo serão produzidas na saída DOT. Os seguintes espaços reservados podem ser usados: {path} {start:line} {start:column} {end:line} {end:column}, {offset} e {length}

--[no-]sublanguage-file-coverage

[Somente para GitHub.com e GitHub Enterprise Server v3.12.0+] Use informações de cobertura de arquivo de sub-linguagem. Isso calcula, exibe e exporta informações de cobertura de arquivos separadas para linguagens que compartilham um extrator CodeQL como C e C++, Java e Kotlin e JavaScript e TypeScript.

Disponível desde v2.15.2.

--sarif-category=<category>

[Somente formatos SARIF] [Recomendado] Especifique uma categoria para essa análise incluir na saída SARIF. Uma categoria pode ser usada para distinguir várias análises executadas no mesmo commit e repositório, mas em diferentes linguagens ou partes do código.

Se você analisar a mesma versão de uma base de código de várias maneiras diferentes (por exemplo, para diferentes linguagens) e carregar os resultados no GitHub para apresentação na verificação de código, esse valor deverá ser diferente entre cada uma das análises, o que informa à verificação de código de que as análises suplementam umas às outras em vez de substituí-las. (Os valores devem ser consistentes entre as execuções da mesma análise para diferentes versões da base de código.)

Esse valor aparecerá (com uma barra à direita acrescentada se ainda não estiver presente) como a propriedade <run>.automationDetails.id.

-j, --threads=<num>

O número de threads usados para os caminhos de computação.

O valor padrão é 1. Você pode transmitir 0 para usar um thread por núcleo no computador ou -N para manter N núcleos não utilizados (com a exceção de que ainda será usado, pelo menos, um thread).

--column-kind=<columnKind>

[Somente SARIF] O tipo de coluna usado para interpretar as colunas de local. Um dos seguintes: utf8, utf16, utf32 ou bytes.

--[no-]unicode-new-lines

[Somente SARIF] Indica se os caracteres de nova linha Unicode LS (Separador de Linha, U+2028) e PS (Separador de Parágrafo, U+2029) são considerados como novas linhas quando os números de linha de local são interpretados.

Opções de arquivo de origem – Precisam ser fornecidas juntas ou não devem ser fornecidas

-s, --source-archive=<sourceArchive>

O diretório ou o arquivo zip que contém o arquivo de origem.

-p, --source-location-prefix=<sourceLocationPrefix>

O caminho do arquivo no sistema de arquivos original em que o código-fonte foi armazenado.

Opções comuns

-h, --help

Mostre este texto de ajuda.

-J=<opt>

[Avançado] Forneça a opção para a JVM que executa o comando.

(Use-a com cautela, pois as opções que contêm espaços não serão tratadas corretamente.)

-v, --verbose

Aumente incrementalmente o número de mensagens de progresso impressas.

-q, --quiet

Diminua incrementalmente o número de mensagens de progresso impressas.

--verbosity=<level>

[Avançado] Defina explicitamente o nível de detalhamento como erros, avisos, progresso, progresso+, progresso++ ou progresso+++. Substitui -v e -q.

--logdir=<dir>

[Avançado] Escreva logs detalhados em um ou mais arquivos no diretório fornecido, com nomes gerados que incluem carimbos de data/hora e o nome do subcomando em execução.

(Para gravar um arquivo de log com um nome sobre o qual você tem controle completo, forneça --log-to-stderr e redirecione stderr conforme desejado.)

--common-caches=<dir>

[Avançado] Controle a localização dos dados armazenados em cache no disco que persistirão entre várias execuções da CLI, como pacotes QL baixados e planos de consulta compilada. Se não for definido explicitamente, o padrão corresponde a um diretório intitulado .codeql no diretório inicial do usuário; que será criado se ainda não existir.

Disponível desde v2.15.2.