Перейти к основному содержимому
Версия: v1.0.x

CI/CD

Шерлок поддерживает возможность загрузки результатов сканирования, получаемых из CI-конвейера. Поддерживается генерация шаблонов для GitLab CI и Jenkins.

Подготовительная работа

Перед тем, как осуществлять генерацию CI-шаблонов необходимо убедиться, что настроена системная интеграция между Шерлоком и нужными сканерами.

Генерация CI-шаблонов

  1. Для генерации CI-шаблонов необходимо, находясь в проекте, перейти в его настройки () и выбрать раздел CI шаблоны.
  2. Выбрать нужные сканеры, для которых необходимо сгенерировать CI-шаблоны.
  3. Нажать на кнопку:
    • Сгенерировать для GitLab: если необходимо сгенерировать CI-шаблоны для GitLab CI
    • Сгенерировать для Jenkins: если необходимо сгенерировать CI-шаблоны для Jenkins
  4. Скопировать сгенерированные шаблоны и адаптировать их под используемый 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
  • 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_TOKEN
    • SHERLOCK_TOKEN
    • SHERLOCK_PROJECT_ID

    Необходимо указать в переменных окружения GitLab CI (для проекта или для группы)