# Dependency Track

**Образ в Auditor**: `registry.cybercodereview.ru/cybercodereview/security-images/dtrack:v1.0.0`\
**Кастомный импортер в GitLab**: [cybercodereview/importers/dtrack.json](https://gitlab.cybercodereview.ru/cybercodereview/importers/-/blob/main/dtrack.json)

Dependency Track устанавливается в инфраструктуре компании как сервер, в который загружают зависимости проектов, разрабатываемых в Компании, в котором можно настроить различные фиды для сбора данных об уязвимостях зависимостей/компонентов.

Для Dependency Track не существует CLI утилит или агентов для управления им или реализации автоматизации. Поэтому был реализован сканер, который управляет Dependency Track по API.&#x20;

С помощью данного сканера, если запускать его регулярно по расписанию, реализована полноценная интеграция ASOC с Dependency Track.&#x20;

dtrack сканер может работать в двух режимах:&#x20;

1. Режим полного сканирования (full\_scan) - в этом режиме сканер парсит зависимости проекта с помощью syft, далее загружает готовый SBOM в Dependency Track, запускает внутренний аудит на стороне Dependency Track, и, получив результат, формирует отчет об уязвимостях. \
   При использовании этого режима сканер будет осуществлять поиск проекта в Dependency Track оперируя ссылкой на репозиторий в SCM. Если проект с подходящим названием не будет найден, он будет создан.
2. Режим загрузки результатов в ASOC (vulns\_upload) - здесь сканер не формирует отчет с зависимостями проекта сам (не строит SBOM). Он по названию проекта загружает из Dependency Track уже найденные уязвимости и формирует отчет.&#x20;

Запуск задания аудитора с dtrack сканером:&#x20;

```
// python3 app.py ---work_mode full_scan/vulns_upload
```

Все необходимые параметры для работы скрипта можно задать в виде переменных окружения, которые можно указать как на уровне настройки задания, так и как глобальные переменные, назначенные в docker-compose файле или в helm-чартах.&#x20;

Переменные для 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cybercodereview.ru/security-center/scanners/integracii/dependency-track.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
