Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Inicializa o banco de dados CodeQL em preparação para a criação.
Você deve ter o GitHub Advanced Security para 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).
Entradas
enableAutomaticCodeQLInstall
-
Habilitar a detecção e instalação automáticas do CodeQL
boolean
. Valor padrão: false
.
Selecionar essa 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 ser analisada. 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 especificar o idioma em uma variável de pipeline chamada advancedsecurity.codeql.language
. Se ambos forem definidos, o valor especificado na tarefa terá precedência.
querysuite
-
CodeQL Query Suite a ser usado 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, conjunto de regras, usado para análise. Você pode especificar o valor aqui na tarefa ou especifique-o em uma variável de pipeline chamada advancedsecurity.codeql.querysuite
. Se ambos forem 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
-
Selecionar modo de build (manual versus nenhum)
string
. Valores permitidos: Manual
, None
. Valor padrão: Manual
.
Especifique Manual
se quiser compilar manualmente o projeto antes de executar a análise do CodeQL. Especifique None
se quiser executar a análise codeql sem compilar o projeto.
Para obter mais informações sobre os diferentes modos de build, incluindo uma comparação sobre os benefícios de cada modo de build, consulte verificação de código CodeQL para idiomas compilados. Para usar autobuild
, adicione a tarefa AdvancedSecurity-CodeQL-Autobuild@1 ao pipeline. Para obter mais informações, consulte de personalização do modo de build de verificação de código.
Opções de ram
- 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 especifique-a em uma variável de pipeline chamada advancedsecurity.codeql.ram
. Se ambos forem definidos, o valor especificado na tarefa terá precedência.
threads
-
use muitos threads para avaliar consultas
string
.
Você pode passar 0 para usar um thread por núcleo no computador ou -N para deixar N núcleos não utilizados (exceto que ainda use pelo menos um thread).
Você pode especificar threads
aqui na tarefa ou especifique-a em uma variável de pipeline chamada advancedsecurity.codeql.threads
. Se ambos forem definidos, o valor especificado na tarefa terá precedência.
codeqlpathstoignore
-
Definir uma lista de caminhos a serem excluídos na análise do CodeQL
string
.
Você pode fornecer vários caminhos separados por vírgulas. Os caminhos devem ser relativos à sourcesfolder
em que o CodeQL está em execução, que usa 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 de codeqlpathstoignore
se aplica somente quando você executa as tarefas codeql em uma linguagem interpretada (Python, Ruby e JavaScript/TypeScript) ou quando você analisa um idioma compilado sem criar o código (atualmente compatível com C# e Java).
codeqlpathstoinclude
-
Defina uma lista de caminhos adicionais a serem incluídos na análise do CodeQL
string
.
Você pode fornecer vários caminhos separados por vírgulas. Os caminhos devem ser relativos à sourcesfolder
em que o CodeQL está em execução, que usa 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 de codeqlpathstoinclude
se aplica somente quando você executa as tarefas codeql em uma linguagem interpretada (Python, Ruby e JavaScript/TypeScript) ou quando você analisa um idioma compilado sem criar o código (atualmente compatível com C# e Java).
sourcesfolder
-
Define a pasta que contém as fontes a serem analisadas
string
.
O valor deve ser relativo à Build.SourcesDirectory
variável. Se você não fornecer esse valor, a pasta de fontes 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 do CodeQL
string
. Valores permitidos: 0
(Aviso), 1
(Detalhado), 2
(Depuração), _
(Padrão (Aviso)). Valor padrão: _
.
Especifique o nível de registro em log.
Você pode especificar loglevel
aqui na tarefa ou especifique-a 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 de codeql continuará com consultas padrão.
codeqltoolsdirectory
-
Definir um diretório personalizado de ferramentas CodeQL (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 controle de tarefa
Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Observações
Você deve ter o GitHub Advanced Security para Azure DevOps habilitado para o repositório que está sendo verificado.
Importante
Essa tarefa tem suporte apenas com repositórios Git do Azure Repos.
O pipeline deve chamar as tarefas na ordem a seguir.
- Inicializar CodeQL
- AutoBuild (ou suas tarefas de build personalizadas)
- Executar a análise do CodeQL
A tarefa AutoBuild é opcional e pode ser substituída por suas tarefas de build personalizadas. O AutoBuild ou suas tarefas de build personalizadas devem ser executados para que seu projeto seja analisado.
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
Execuções em | Agente, DeploymentGroup |
de demandas | Nenhum |
recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
restrições de comando | Qualquer |
variáveis settable | Qualquer |
Versão do agente | Todas as versões de agente com suporte. |
Categoria de tarefa | Construir |
Consulte também
- verificação de código para de Segurança Avançada do GitHub