AdvancedSecurity-Codeql-Init@1 – Advanced Security Initialize CodeQL v1 task
Initialisiert die CodeQL-Datenbank in Vorbereitung auf die Erstellung.
Sie müssen GitHub Advanced Security für Azure DevOps für das zu scannende Repository aktiviert haben.
Syntax
# 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).
Eingänge
enableAutomaticCodeQLInstall
-
Aktivieren der automatischen CodeQL-Erkennung und -Installation
boolean
. Standardwert: false
.
Wenn Sie diese Option aktivieren, wird die Aufgabe so festgelegt, dass die Überprüfung auf CodeQL für den Agent automatisch erfolgt. Wenn CodeQL nicht ordnungsgemäß konfiguriert ist oder die neueste Version verwendet wird, installiert die Aufgabe automatisch die neueste Version.
languages
-
Sprachen zur Analyse von
string
. Zulässige Werte: csharp
, cpp
, go
, java
, javascript
, python
, ruby
, swift
.
Die zu analysierende Programmiersprache. Mehrere Sprachen können durch ein Komma getrennt werden.
Sie können die Sprache hier in der Aufgabe festlegen, oder Sie können die Sprache in einer Pipelinevariable namens advancedsecurity.codeql.language
angeben. Wenn beides festgelegt ist, hat der in der Aufgabe angegebene Wert Vorrang.
querysuite
-
CodeQL Query Suite zur Analyse.
string
. Zulässige Werte: Select a query suite...
, code-scanning
, security-extended
, security-experimental
, security-and-quality
. Standardwert: Select a query suite...
.
Die Abfragesuite, d. h. regelet, wird für die Analyse verwendet. Sie können den Wert hier in der Aufgabe angeben, oder Sie können ihn in einer Pipelinevariable mit dem Namen advancedsecurity.codeql.querysuite
angeben. Wenn beides festgelegt ist, hat der in der Aufgabe angegebene Wert Vorrang. Der Standardwert ist Select a query suite...
, der angibt, dass die Abfragesuite in der variablen advancedsecurity.codeql.querysuite
angegeben werden muss.
buildtype
-
Auswählen des Buildmodus (manuell und ohne)
string
. Zulässige Werte: Manual
, None
. Standardwert: Manual
.
Geben Sie Manual
an, wenn Sie das Projekt manuell erstellen möchten, bevor Sie die CodeQL-Analyse ausführen. Geben Sie None
an, wenn Sie die CodeQL-Analyse ausführen möchten, ohne das Projekt zu erstellen.
Weitere Informationen zu den verschiedenen Buildmodi, einschließlich eines Vergleichs zu den Vorteilen der einzelnen Buildmodus, finden Sie unter CodeQL-Codeüberprüfung für kompilierte Sprachen. Um autobuild
zu verwenden, fügen Sie der Pipeline die aufgabe AdvancedSecurity-CodeQL-Autobuild@1 hinzu. Weitere Informationen finden Sie unter Anpassung des Codeüberprüfungsmodus.
ram
-
Optionen zum Steuern der RAM-Verwendung in MB
string
.
Legen Sie die Gesamtmenge des RAM fest, den der Abfrageauswerter verwenden darf.
Sie können ram
hier in der Aufgabe angeben, oder Sie können sie in einer Pipelinevariable namens advancedsecurity.codeql.ram
angeben. Wenn beides festgelegt ist, hat der in der Aufgabe angegebene Wert Vorrang.
threads
-
Verwenden Sie diese vielen Threads zum Auswerten von Abfragen
string
.
Sie können 0 übergeben, um einen Thread pro Kern auf dem Computer zu verwenden, oder -N, N-Kerne nicht verwendet zu lassen (außer mindestens einen Thread zu verwenden).
Sie können threads
hier in der Aufgabe angeben, oder Sie können sie in einer Pipelinevariable namens advancedsecurity.codeql.threads
angeben. Wenn beides festgelegt ist, hat der in der Aufgabe angegebene Wert Vorrang.
codeqlpathstoignore
-
Festlegen einer Liste der auszuschließenden Pfade in der CodeQL-Analyse
string
.
Sie können mehrere Pfade durch Kommas getrennt angeben. Die Pfade müssen relativ zu der sourcesfolder
sein, in der CodeQL ausgeführt wird, wobei standardmäßig die Build.SourcesDirectory
Pipelineumgebungsvariable verwendet wird. Wenn Sie beispielsweise das $(Build.SourcesDirectory)/donotscan
Verzeichnis ignorieren möchten, legen Sie codeqlpathstoignore: donotscan
und nicht codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan
fest.
Wichtig
Die codeqlpathstoignore
Einstellung gilt nur, wenn Sie die CodeQL-Aufgaben in einer interpretierten Sprache (Python, Ruby und JavaScript/TypeScript) ausführen oder wenn Sie eine kompilierte Sprache analysieren, ohne den Code zu erstellen (derzeit für C# und Java unterstützt).
codeqlpathstoinclude
-
Festlegen einer Liste zusätzlicher Pfade, die in die CodeQL-Analyse einbezogen werden sollen
string
.
Sie können mehrere Pfade durch Kommas getrennt angeben. Die Pfade müssen relativ zu der sourcesfolder
sein, in der CodeQL ausgeführt wird, wobei standardmäßig die Build.SourcesDirectory
Pipelineumgebungsvariable verwendet wird. Wenn Sie z. B. das $(Build.SourcesDirectory)/app
Verzeichnis einschließen möchten, legen Sie codeqlpathstoinclude: app
und nicht codeqlpathstoinclude: $(Build.SourcesDirectory)/app
fest.
Wichtig
Die codeqlpathstoinclude
Einstellung gilt nur, wenn Sie die CodeQL-Aufgaben in einer interpretierten Sprache (Python, Ruby und JavaScript/TypeScript) ausführen oder wenn Sie eine kompilierte Sprache analysieren, ohne den Code zu erstellen (derzeit für C# und Java unterstützt).
sourcesfolder
-
Legt den Ordner fest, der die zu analysierenden Quellen
string
.
Wenn Sie diesen Wert nicht angeben, wird der Standardquellenordner für die Pipelineinfrastruktur verwendet (bereitgestellt durch die variable Build.SourcesDirectory
).
loglevel
-
Festlegen der Protokollebene für die CodeQL-Analyse
string
. Zulässige Werte: 0
(Warnung), 1
(Ausführlich), 2
(Debug), _
(Standard (Warnung)). Standardwert: _
.
Geben Sie die Protokollierungsebene an.
Sie können loglevel
hier in der Aufgabe angeben, oder Sie können sie in einer Pipelinevariable namens advancedsecurity.codeql.loglevel
angeben. Wenn beide festgelegt sind, hat der in der Aufgabe angegebene Wert Vorrang, es sei denn, der Standardwert _
für loglevel
in der Aufgabe wird angegeben. Wenn _
angegeben ist, wird der Wert aus advancedsecurity.codeql.loglevel
verwendet, falls verfügbar.
configfilepath
-
Verwenden Sie dies, um benutzerdefinierte Abfrageanalyse in Codeql zu aktivieren (Pfad muss absolut sein).
string
.
Wenn kein Pfad angegeben wird, wird die Codeql-Analyse mit Standardabfragen fortgesetzt.
codeqltoolsdirectory
-
Festlegen eines benutzerdefinierten CodeQL-Toolsverzeichnisses (Pfad muss absolut sein)
string
.
Wenn der Pfad nicht angegeben wird, wird der Standardwert von $agent_toolsdirectory
verwendet.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Nichts.
Bemerkungen
Sie müssen GitHub Advanced Security für Azure DevOps für das zu scannende Repository aktiviert haben.
Wichtig
Diese Aufgabe wird nur mit Azure Repos Git-Repositorys unterstützt.
Die Pipeline muss die Aufgaben in der folgenden Reihenfolge aufrufen.
- Initialisieren von CodeQL
- AutoBuild (oder Ihre benutzerdefinierten Buildaufgaben)
- Durchführen der CodeQL-Analyse
Die AutoBuild-Aufgabe ist optional und kann durch Ihre benutzerdefinierten Buildaufgaben ersetzt werden. Entweder AutoBuild oder ihre benutzerdefinierten Buildaufgaben müssen ausgeführt werden, damit Ihr Projekt analysiert werden kann.
Anforderungen
Anforderung | Beschreibung |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | Alle unterstützten Agentversionen. |
Vorgangskategorie | Bauen |