CI/CD
Шерлок поддерживает возможность загрузки результатов сканирования, получаемых из CI-конвейера. Поддерживается генерация шаблонов для GitLab CI и Jenkins.
Подготовительная работа
Перед тем, как осуществлять генерацию CI-шаблонов необходимо убедиться, что настроена системная интеграция между Шерлоком и нужными сканерами.
Генерация CI-шаблонов
- Для генерации CI-шаблонов необходимо, находясь в проекте, перейти в его настройки () и выбрать раздел CI шаблоны.
- Выбрать нужные сканеры, для которых необходимо сгенерировать CI-шаблоны.
- Нажать на кнопку:
- Сгенерировать для GitLab: если необходимо сгенерировать CI-шаблоны для GitLab CI
- Сгенерировать для Jenkins: если необходимо сгенерировать CI-шаблоны для Jenkins
- Скопировать сгенерированные шаблоны и адаптировать их под используемый CI-конвейер. Например:
- Указать требуемый stage, на которых должен отработать сгенерированный CI-шаблон
- Указать корректный адрес до репозитория в разделе
image, в котором будет расположена CLI-утилита Шерлока - Указать нужный runner в разделе
tags
Описание параметров CI-шаблонов
При генерации CI-шаблонов Шерлок использует следующий набор переменных:
-
SHERLOCK_CLI_IMAGE_PATH: путь до образа контейнера LI-утилиты Шерлока в используемом репозитории -
SHER_SCANNER_URL: доменное имя или IP-адрес сканера. Параметр подставляется автоматически. Значение берется из настройки системной интеграции между Шерлоком и сканером -
SHER_SCANNER_TOKEN: токен доступа для сканера -
SHER_SCANNER_CODE: код сканера, необходимый для Шерлока. Параметр подставляется автоматически. Возможные варианты:- Gitleaks:
gitleaks - Trufflehog:
trufflehog - Solar appScreener:
app_screener - Positive Technologies Application Inspector:
pt_ai - Svace:
svace - Semgrep:
semgrep - CodeScoring:
code_scoring - DependencyTrack: не применимо
- Kaspersky Container Security:
kcs - Trivy:
trivy
- Gitleaks:
-
SHER_SCANNER_VERSION: используемая версия CLI-утилиты Шерлока. Параметр подставляется автоматически. -
SHERLOCK_URL: доменное имя или IP-адрес Шерлока. Параметр подставляется автоматически. -
SHERLOCK_BIN_RESOURCE: доменное имя или IP-адрес реестра, в котором хранится CLI-утилита Шерлока и сканеров. Параметр подставляется автоматически. -
SHERLOCK_TOKEN: токен, используемый для авторизации запросов из CI в Шерлоке. Токен генерируется на той же странице, где генерируются CI-шаблоны. -
SHERLOCK_PROJECT_ID: уникальный идентификатор проекта (UUID) Шерлока, в который нужно отправлять результаты сканирования из CI. Параметр можно скопировать на той же странице, где генерируются CI-шаблоны. -
SHERLOCK_SG: параметр, используемый только при генерации шаблона для Security Gate. По умолчанию значение устанавливается вtrueк сведениюПараметры:
SHER_SCANNER_TOKENSHERLOCK_TOKENSHERLOCK_PROJECT_ID
Необходимо указать в переменных окружения GitLab CI (для проекта или для группы)