Sdílet prostřednictvím


AdvancedSecurity-Codeql-Init@1 – úloha Inicializace CodeQL v1 pro pokročilé zabezpečení

Inicializuje databázi CodeQL v rámci přípravy na sestavení.

Pro prohledávané úložiště musíte mít povolené GitHub Advanced Security pro Azure DevOps.

Syntax

# Advanced Security Initialize CodeQL v1
# Initializes the CodeQL database in preparation for building.
- task: AdvancedSecurity-Codeql-Init@1
  inputs:
    #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....
  # 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).

Vstupy

languages - Jazyky k analýze
string. Povolené hodnoty: csharp, cpp, , javago, , javascript, python, , ruby, . swift

Programovací jazyk, který chcete analyzovat. Více jazyků je možné oddělit čárkou.

Jazyk můžete nastavit tady v úloze nebo ho můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.language. Pokud jsou nastavené obě hodnoty, bude mít přednost hodnota zadaná v úkolu.


querysuite - Sada dotazů CodeQL, která se má použít pro analýzu.
string. Povolené hodnoty: Select a query suite..., code-scanning, security-extended, security-experimental, . security-and-quality Výchozí hodnota: Select a query suite....

Sada dotazů, tj. sada pravidel, používaná k analýze. Hodnotu můžete zadat tady v úloze nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.querysuite. Pokud jsou nastavené obě hodnoty, bude mít přednost hodnota zadaná v úkolu. Výchozí hodnota označuje Select a query suite... , že sada dotazů musí být zadána advancedsecurity.codeql.querysuite v proměnné .


ram - Možnosti řízení využití paměti RAM v MB
string.

Nastavte celkovou velikost paměti RAM, kterou by měl vyhodnocovací modul dotazu používat.

Můžete ji zadat ram tady v úloze nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.ram. Pokud jsou nastavené obě hodnoty, bude mít přednost hodnota zadaná v úkolu.


threads - K vyhodnocení dotazů použijte tento počet vláken.
string.

Pokud chcete na počítači použít jedno vlákno na jádro, můžete předat hodnotu 0, nebo -N, pokud chcete nechat N jader nepoužívané (s tím rozdílem, že stále používáte alespoň jedno vlákno).

Můžete ji zadat threads tady v úloze nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.threads. Pokud jsou nastavené obě hodnoty, bude mít přednost hodnota zadaná v úkolu.


codeqlpathstoignore - Nastavení seznamu cest, které se mají vyloučit z analýzy CodeQL
string.

Můžete zadat více cest oddělených čárkami. Cesty musí být relativní vzhledem k místu sourcesfolder , kde běží CodeQL, což je Build.SourcesDirectory výchozí proměnná prostředí kanálu. Pokud chcete například ignorovat $(Build.SourcesDirectory)/donotscan adresář, nastavte codeqlpathstoignore: donotscan místo codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan.


codeqlpathstoinclude - Nastavení seznamu dalších cest, které se mají zahrnout do analýzy CodeQL
string.

Můžete zadat více cest oddělených čárkami. Cesty musí být relativní vzhledem k místu sourcesfolder , kde běží CodeQL, což je Build.SourcesDirectory výchozí proměnná prostředí kanálu. Pokud chcete například zahrnout $(Build.SourcesDirectory)/app adresář, nastavte codeqlpathstoinclude: app místo codeqlpathstoinclude: $(Build.SourcesDirectory)/app.


sourcesfolder - Nastaví složku obsahující zdroje, které se mají analyzovat.
string.

Pokud tuto hodnotu nezadáte, použije se výchozí složka zdrojů pro infrastrukturu kanálu (poskytovaná proměnnou Build.SourcesDirectory ).


loglevel - Nastavení úrovně protokolu pro analýzu CodeQL
string. Povolené hodnoty: 0 (Warning), 1 (Verbose), 2 (Debug), _ (Default (Warning)). Výchozí hodnota: _.

Zadejte úroveň protokolování.

Můžete ji zadat loglevel tady v úloze nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.loglevel. Pokud jsou nastaveny obě hodnoty, bude mít přednost hodnota zadaná v úkolu, pokud není zadána výchozí hodnota _ pro loglevel v úkolu. Pokud _ je zadaný parametr , použije se hodnota z advancedsecurity.codeql.loglevel , pokud je k dispozici.


configfilepath - Tuto možnost použijte k povolení analýzy vlastních dotazů v codeql (cesta musí být absolutní).
string.

Pokud není cesta k dispozici, bude analýza codeql pokračovat s výchozími dotazy.


codeqltoolsdirectory - Nastavení vlastního adresáře nástrojů CodeQL (cesta musí být absolutní)
string.

Pokud cesta není zadaná, použije se výchozí hodnota $agent_toolsdirectory .


Možnosti ovládání úloh

Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacích prvků a běžné vlastnosti úlohy.

Výstupní proměnné

Žádné

Poznámky

Pro prohledávané úložiště musíte mít povolené GitHub Advanced Security pro Azure DevOps.

Důležité

Tato úloha je podporována pouze v úložištích Azure Repos Git.

Kanál musí volat úlohy v následujícím pořadí.

  1. Inicializace CodeQL
  2. AutoBuild (nebo vlastní úlohy sestavení)
  3. Provedení analýzy CodeQL

Úloha Automatické sestavení je volitelná a může být nahrazena vlastními úlohami sestavení. Aby se projekt analyzoval, musí být spuštěné úlohy automatického sestavení nebo vlastního sestavení.

Požadavky

Požadavek Popis
Typy kanálů YAML, klasický build, klasická verze
Běží na Agent, DeploymentGroup
Požadavky Žádné
Možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
Omezení příkazů Všechny
Nastavitelné proměnné Všechny
Verze agenta Všechny podporované verze agenta.
Kategorie úloh Sestavení

Viz také