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.
- Inicializar CodeQL
- AutoBuild (ou suas tarefas de compilação personalizadas)
- 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 |