AdvancedSecurity-Codeql-Init@1 — задача Advanced Security Initialize CodeQL версии 1
Инициализирует базу данных CodeQL при подготовке к созданию.
Необходимо включить GitHub Advanced Security для Azure DevOps для сканируемого репозитория.
Синтаксис
# 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).
Входы
enableAutomaticCodeQLInstall
-
Включить автоматическое обнаружение и установку CodeQL
boolean
. Значение по умолчанию: false
.
При выборе этого параметра задача автоматически проверяет наличие CodeQL в агенте. Если CodeQL настроен неправильно или по последней версии, задача автоматически установит последнюю версию.
языки languages
- для анализа
string
. Допустимые значения: csharp
, cpp
, go
, java
, javascript
, python
, ruby
, swift
.
Язык программирования для анализа. Несколько языков можно разделить запятыми.
Язык можно задать здесь в задаче или указать язык в переменной конвейера с именем advancedsecurity.codeql.language
. Если оба параметра заданы, то значение, указанное в задаче, имеет приоритет.
querysuite
-
Набор запросов CodeQL для анализа.
string
. Допустимые значения: Select a query suite...
, code-scanning
, security-extended
, security-experimental
, security-and-quality
. Значение по умолчанию: Select a query suite...
.
Набор запросов, т. е. набор правил, используемый для анализа. Можно указать значение в задаче или указать его в переменной конвейера с именем advancedsecurity.codeql.querysuite
. Если оба параметра заданы, то значение, указанное в задаче, имеет приоритет. Значение по умолчанию — Select a query suite...
, указывающее, что набор запросов должен быть указан в переменной advancedsecurity.codeql.querysuite
.
buildtype
-
Выбрать режим сборки (вручную и нет)
string
. Допустимые значения: Manual
, None
. Значение по умолчанию: Manual
.
Укажите Manual
, если вы хотите вручную создать проект перед выполнением анализа CodeQL. Укажите None
, если вы хотите выполнить анализ CodeQL без создания проекта.
Дополнительные сведения о различных режимах сборки, включая сравнение преимуществ каждого режима сборки, см. в разделе сканирование кода CodeQL для скомпилированных языков. Чтобы использовать autobuild
, добавьте задачу AdvancedSecurity-CodeQL-Autobuild@1 в конвейер. Дополнительные сведения см. в разделе Настройка режима сборки для сканирования кода.
ram
-
Параметры управления использованием ОЗУ в МБ
string
.
Задайте общий объем ОЗУ, который должен использоваться вычислителем запросов.
Вы можете указать ram
здесь в задаче или указать его в переменной конвейера с именем advancedsecurity.codeql.ram
. Если оба параметра заданы, то значение, указанное в задаче, имеет приоритет.
threads
-
использовать этот много потоков для оценки запросов
string
.
Вы можете передать 0 для использования одного потока на ядро на компьютере или -N, чтобы оставить неиспользуемые ядра N (за исключением того, что по-прежнему используется хотя бы один поток).
Вы можете указать threads
здесь в задаче или указать его в переменной конвейера с именем advancedsecurity.codeql.threads
. Если оба параметра заданы, то значение, указанное в задаче, имеет приоритет.
codeqlpathstoignore
-
Задайте список путей для исключения в анализа CodeQL
string
.
Можно указать несколько путей, разделенных запятыми. Пути должны быть относительно sourcesfolder
, где выполняется CodeQL, который по умолчанию соответствует переменной среды конвейера Build.SourcesDirectory
. Например, чтобы игнорировать каталог $(Build.SourcesDirectory)/donotscan
, задайте codeqlpathstoignore: donotscan
, а не codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan
.
Важный
Параметр codeqlpathstoignore
применяется только при выполнении задач CodeQL на интерпретированном языке (Python, Ruby и JavaScript/TypeScript) или при анализе скомпилированного языка без создания кода (в настоящее время поддерживается для C# и Java).
codeqlpathstoinclude
-
Задайте список дополнительных путей для включения в анализ CodeQL
string
.
Можно указать несколько путей, разделенных запятыми. Пути должны быть относительно sourcesfolder
, где выполняется CodeQL, который по умолчанию соответствует переменной среды конвейера Build.SourcesDirectory
. Например, чтобы включить каталог $(Build.SourcesDirectory)/app
, задайте codeqlpathstoinclude: app
вместо codeqlpathstoinclude: $(Build.SourcesDirectory)/app
.
Важный
Параметр codeqlpathstoinclude
применяется только при выполнении задач CodeQL на интерпретированном языке (Python, Ruby и JavaScript/TypeScript) или при анализе скомпилированного языка без создания кода (в настоящее время поддерживается для C# и Java).
sourcesfolder
-
Задает папку, содержащую источники для анализа
string
.
Если это значение не указано, используется папка источников по умолчанию для инфраструктуры конвейера (предоставляется переменной Build.SourcesDirectory
).
loglevel
-
Задать уровень журнала для анализа CodeQL
string
. Допустимые значения: 0
(предупреждение), 1
(подробно), 2
(отладка), _
(по умолчанию (предупреждение)). Значение по умолчанию: _
.
Укажите уровень ведения журнала.
Вы можете указать loglevel
здесь в задаче или указать его в переменной конвейера с именем advancedsecurity.codeql.loglevel
. Если оба значения заданы, то значение, указанное в задаче, имеет приоритет, если значение по умолчанию не _
для loglevel
в задаче. Если указан _
, значение из advancedsecurity.codeql.loglevel
используется при наличии.
configfilepath
-
Используйте этот параметр для включения пользовательского анализа запросов в codeql (путь должен быть абсолютным).
string
.
Если путь не указан, анализ codeql будет продолжаться с запросами по умолчанию.
codeqltoolsdirectory
-
Задать пользовательский каталог средств CodeQL (путь должен быть абсолютным)
string
.
Если путь не указан, будет использоваться значение по умолчанию $agent_toolsdirectory
.
Параметры управления задачами
Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Никакой.
Замечания
Необходимо включить GitHub Advanced Security для Azure DevOps для сканируемого репозитория.
Важный
Эта задача поддерживается только репозиториями Azure Repos Git.
Конвейер должен вызывать задачи в следующем порядке.
- Инициализация CodeQL
- AutoBuild (или пользовательские задачи сборки)
- Выполнение анализа CodeQL
Задача AutoBuild является необязательной и может быть заменена пользовательскими задачами сборки. Для анализа проекта необходимо выполнить автоматические сборки или пользовательские задачи сборки.
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
требования | Никакой |
возможностей | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любой |
переменные settable | Любой |
Версия агента | Все поддерживаемые версии агента. |
Категория задач | Строить |
См. также
- сканирование кода для расширенной безопасности GitHub