Dependency Track
Dependency Track - инструмент для управления уязвимостями в зависимостях проектов.
Last updated
Dependency Track - инструмент для управления уязвимостями в зависимостях проектов.
Last updated
Образ в Auditor: registry.cybercodereview.ru/cybercodereview/security-images/dtrack:v1.0.0
Кастомный импортер в GitLab:
Dependency Track устанавливается в инфраструктуре компании как сервер, в который загружают зависимости проектов, разрабатываемых в Компании, в котором можно настроить различные фиды для сбора данных об уязвимостях зависимостей/компонентов.
Для Dependency Track не существует CLI утилит или агентов для управления им или реализации автоматизации. Поэтому был реализован сканер, который управляет Dependency Track по API.
С помощью данного сканера, если запускать его регулярно по расписанию, реализована полноценная интеграция ASOC с Dependency Track.
dtrack сканер может работать в двух режимах:
Режим полного сканирования (full_scan) - в этом режиме сканер парсит зависимости проекта с помощью syft, далее загружает готовый SBOM в Dependency Track, запускает внутренний аудит на стороне Dependency Track, и, получив результат, формирует отчет об уязвимостях. При использовании этого режима сканер будет осуществлять поиск проекта в Dependency Track оперируя ссылкой на репозиторий в SCM. Если проект с подходящим названием не будет найден, он будет создан.
Режим загрузки результатов в ASOC (vulns_upload) - здесь сканер не формирует отчет с зависимостями проекта сам (не строит SBOM). Он по названию проекта загружает из Dependency Track уже найденные уязвимости и формирует отчет.
Запуск задания аудитора с dtrack сканером:
Все необходимые параметры для работы скрипта можно задать в виде переменных окружения, которые можно указать как на уровне настройки задания, так и как глобальные переменные, назначенные в docker-compose файле или в helm-чартах.
Переменные для dtrack сканера:
DT_API_KEY - API-ключа для авторизации в инсталляции Dependency Track
DT_API_HOST - API-ендпоинт Dependency Track формата "{scheme}:\\{domain}:{port}/api"
SEC_CODE_FOLDER - директория с анализируемым проектом
SEC_REPORT_FOLDER - директория для сохранения отчета с уязвимостями (по умолчанию должна быть /data)
REPORT_FILE_NAME - название отчета с уязвимостями (по умолчанию - dtrack_report.json)