Partilhar via


AdvancedSecurity-Codeql-Init@1 - Segurança Avançada Tarefa Inicializar CodeQL v1

Inicializa o banco de dados CodeQL em preparação para a construção.

Você deve ter GitHub Advanced Security for Azure DevOps habilitado para o repositório que está sendo verificado.

Sintaxe

# Advanced Security Initialize CodeQL v1
# Initializes the CodeQL database in preparation for building.
- task: AdvancedSecurity-Codeql-Init@1
  inputs:
    #enableAutomaticCodeQLInstall: false # boolean. Enable automatic CodeQL detection and installation. Default: false.
    #languages: # 'csharp' | 'cpp' | 'go' | 'java' | 'javascript' | 'python' | 'ruby' | 'swift'. Languages to analyze. 
    #querysuite: 'Select a query suite...' # 'Select a query suite...' | 'code-scanning' | 'security-extended' | 'security-experimental' | 'security-and-quality'. CodeQL Query Suite to use for analysis. Default: Select a query suite....
    #buildtype: 'Manual' # 'Manual' | 'None'. Select build mode (manual vs none). Default: Manual.
  # Advanced
    #ram: # string. Options to control RAM usage in MB. 
    #threads: # string. Use this many threads to evaluate queries. 
    #codeqlpathstoignore: # string. Set a list of paths to exclude in the CodeQL analysis. 
    #codeqlpathstoinclude: # string. Set a list of additional paths to include in the CodeQL analysis. 
    #sourcesfolder: # string. Sets the folder that contains the sources to be analyzed. 
    #loglevel: '_' # '0' | '1' | '2' | '_'. Set the log level for the CodeQL analysis. Default: _.
    #configfilepath: # string. Use this to enable custom query analysis in codeql (path must be absolute). 
    #codeqltoolsdirectory: # string. Set a custom CodeQL tools directory (path must be absolute).

Insumos

enableAutomaticCodeQLInstall - Ativar a deteção automática de CodeQL e de instalação
boolean. Valor padrão: false.

Selecionar esta opção definirá a tarefa para verificar automaticamente o CodeQL no agente. Se o CodeQL não estiver configurado corretamente ou na versão mais recente, a tarefa instalará automaticamente a versão mais recente.


languages - Idiomas para analisar
string. Valores permitidos: csharp, cpp, go, java, javascript, python, ruby, swift.

A linguagem de programação a analisar. Vários idiomas podem ser separados por uma vírgula.

- task: AdvancedSecurity-Codeql-Init@1
  inputs:
    languages: 'cpp, java, python'
    # This languages value is valid, the Pipelines editor 
    # doesn't recognize all combinations and only validates
    # correctly when a single language is specified

Você pode definir o idioma aqui na tarefa ou pode especificar o idioma em uma variável de pipeline chamada advancedsecurity.codeql.language. Se ambos estiverem definidos, o valor especificado na tarefa terá precedência.


querysuite - CodeQL Query Suite para usar para análise.
string. Valores permitidos: Select a query suite..., code-scanning, security-extended, security-experimental, security-and-quality. Valor padrão: Select a query suite....

O conjunto de consultas, ou seja, o conjunto de regras, usado para análise. Você pode especificar o valor aqui na tarefa ou pode especificá-lo em uma variável de pipeline chamada advancedsecurity.codeql.querysuite. Se ambos estiverem definidos, o valor especificado na tarefa terá precedência. O valor padrão é Select a query suite... que indica que o conjunto de consultas deve ser especificado na variável advancedsecurity.codeql.querysuite.


buildtype - Selecione o modo de construção (manual vs nenhum)
string. Valores permitidos: Manual, None. Valor padrão: Manual.

Especifique Manual se você deseja construir manualmente o projeto antes de executar a análise CodeQL. Especifique None se você deseja executar a análise CodeQL sem criar o projeto.

Para obter mais informações sobre os diferentes modos de compilação, incluindo uma comparação sobre os benefícios de cada modo de compilação, consulte verificação de código CodeQL para linguagens compiladas. Para usar autobuild, adicione a tarefa AdvancedSecurity-CodeQL-Autobuild@1 ao seu pipeline. Para obter mais informações, consulte Personalização do modo de compilação de verificação de código.


ram - Opções para controlar o uso de RAM em MB
string.

Defina a quantidade total de RAM que o avaliador de consulta deve ter permissão para usar.

Você pode especificar ram aqui na tarefa ou pode especificá-la em uma variável de pipeline chamada advancedsecurity.codeql.ram. Se ambos estiverem definidos, o valor especificado na tarefa terá precedência.


threads - Use esses muitos threads para avaliar consultas
string.

Você pode passar 0 para usar um thread por núcleo na máquina ou -N deixar N núcleos não utilizados (exceto ainda usar pelo menos um thread).

Você pode especificar threads aqui na tarefa ou pode especificá-la em uma variável de pipeline chamada advancedsecurity.codeql.threads. Se ambos estiverem definidos, o valor especificado na tarefa terá precedência.


codeqlpathstoignore - Defina uma lista de caminhos a serem excluídos no de análise CodeQL
string.

Você pode fornecer vários caminhos separados por vírgulas. Os caminhos devem ser relativos ao sourcesfolder onde o CodeQL está sendo executado, que assume como padrão a variável de ambiente de pipeline Build.SourcesDirectory. Por exemplo, para ignorar o diretório $(Build.SourcesDirectory)/donotscan, defina codeqlpathstoignore: donotscan em vez de codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan.

Importante

A configuração codeqlpathstoignore se aplica somente quando você executa as tarefas CodeQL em uma linguagem interpretada (Python, Ruby e JavaScript/TypeScript) ou quando analisa uma linguagem compilada sem criar o código (atualmente suportado para C# e Java).


codeqlpathstoinclude - Defina uma lista de caminhos adicionais a serem incluídos no de análise CodeQL
string.

Você pode fornecer vários caminhos separados por vírgulas. Os caminhos devem ser relativos ao sourcesfolder onde o CodeQL está sendo executado, que assume como padrão a variável de ambiente de pipeline Build.SourcesDirectory. Por exemplo, para incluir o diretório $(Build.SourcesDirectory)/app, defina codeqlpathstoinclude: app em vez de codeqlpathstoinclude: $(Build.SourcesDirectory)/app.

Importante

A configuração codeqlpathstoinclude se aplica somente quando você executa as tarefas CodeQL em uma linguagem interpretada (Python, Ruby e JavaScript/TypeScript) ou quando analisa uma linguagem compilada sem criar o código (atualmente suportado para C# e Java).


sourcesfolder - Define a pasta que contém as fontes a serem analisadas
string.

Se você não fornecer esse valor, a pasta de códigos-fonte padrão para a infraestrutura de pipeline será usada (fornecida pela variável Build.SourcesDirectory).


loglevel - Definir o nível de log para a análise CodeQL
string. Valores permitidos: 0 (Warning), 1 (Verbose), 2 (Debug), _ (Default (Warning)). Valor padrão: _.

Especifique o nível de registro.

Você pode especificar loglevel aqui na tarefa ou pode especificá-la em uma variável de pipeline chamada advancedsecurity.codeql.loglevel. Se ambos forem definidos, o valor especificado na tarefa terá precedência, a menos que o valor padrão _ para loglevel na tarefa seja especificado. Se _ for especificado, o valor de advancedsecurity.codeql.loglevel será usado, se disponível.


configfilepath - Use isso para habilitar a análise de consulta personalizada no codeql (o caminho deve ser absoluto).
string.

Se o caminho não for fornecido, a análise codeql prosseguirá com as consultas padrão.


codeqltoolsdirectory - Defina um diretório de ferramentas CodeQL personalizado (o caminho deve ser absoluto)
string.

Se o caminho não for fornecido, o valor padrão de $agent_toolsdirectory será utilizado.


Opções de controlo de tarefas

Todas as tarefas têm opções de controle, além de suas entradas de tarefas. Para obter mais informações, consulte Opções de controle de e propriedades de tarefas comuns.

Variáveis de saída

Nenhuma.

Comentários

Você deve ter GitHub Advanced Security for Azure DevOps habilitado para o repositório que está sendo verificado.

Importante

Esta tarefa é suportada apenas com repositórios Git do Azure Repos.

O pipeline deve chamar as tarefas na seguinte ordem.

  1. Inicializar CodeQL
  2. AutoBuild (ou suas tarefas de compilação personalizadas)
  3. Execute a análise CodeQL

A tarefa AutoBuild é opcional e pode ser substituída por suas tarefas de compilação personalizadas. O AutoBuild ou suas tarefas de compilação personalizadas devem ser executadas para que seu projeto seja analisado.

Requerimentos

Exigência Descrição
Tipos de pipeline YAML, Construção clássica, Versão clássica
Funciona em Agente, DeploymentGroup
Exigências Nenhum
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente Todas as versões de agente suportadas.
Categoria de tarefa Construir

Ver também