Skip to content

Переменные окружения в командах сканеров

При запуске сканера через оркестрацию контейнеру автоматически передаётся набор переменных окружения. Эти переменные можно использовать в команде сканера — как в предустановленных профилях, так и при настройке собственных команд.

Краткая справка

Наиболее часто используемые переменные в командах профилей:

Переменная Описание Значение по умолчанию
RESULTS_FILE Полный путь к файлу результатов ${REPORTS_DIR}/${RESULTS_FILENAME}
SRC_DIR Путь к распакованным исходникам репозитория /data/src
CURRENT_DIR Текущая директория .
ARTIFACT_REFERENCE Ссылка на Docker-образ (при скане артефакта)
SCANNER_CLI_PATH Путь к CLI-бинарнику сканера /data/scanner_cli/scanner-cli
SCANNER_CONFIG_PATH Путь к конфигурационному файлу сканера /data/scanner_config/config
CACHE_DIR Директория кэша сканера /tmp/scanner_cache
HW_REGISTRY Хост container registry (для скачивания баз, например Trivy DB)

Пример использования в команде сканера:

semgrep scan --json --output "${RESULTS_FILE}" "${SRC_DIR}"

Переменные, зависящие от цели сканирования

Скан репозитория

Переменная Описание
REPOSITORY_SLUG Slug репозитория
REPOSITORY_BRANCH Сканируемая ветка
SRC_DIR Путь к распакованным исходникам (/data/src)

Скан артефакта (Docker-образа)

Переменная Описание
ARTIFACT_REFERENCE Каноническая ссылка на образ (hostname/image:tag)
PRODUCT_SLUG Slug продукта, к которому относится артефакт

Предопределённые пути

Фиксированные директории внутри контейнера сканера:

Переменная Значение Описание
BASE_DATA_DIR /data Корневая директория данных
SRC_DIR /data/src Исходники репозитория
REPORTS_DIR /data/reports Директория результатов
DOWNLOAD_DIR /data/download Скачанные архивы
SCANNER_DATA_DIR /data/scanner_data Рабочая директория сканера
SCANNER_CLI_DIR /data/scanner_cli Бинарники CLI сканера
SCANNER_CONFIG_DIR /data/scanner_config Конфигурация сканера
CACHE_DIR /tmp/scanner_cache Кэш (например, базы Trivy)

Переменные результатов

Переменная Описание
RESULTS_FILE Полный путь к файлу результатов (${REPORTS_DIR}/${RESULTS_FILENAME})
RESULTS_FILENAME Имя файла результатов (генерируется автоматически)
REPORTS_DIR Директория результатов (/data/reports)

Сканер должен записать результаты в ${RESULTS_FILE} — платформа автоматически заберёт этот файл после завершения команды.