# Syft

### Назначение

Syft используется для генерации SBOM (Software Bill of Materials) из кода проекта. В TRAIO SBOM применяется как входной артефакт для SCA-процесса (например, для последующей загрузки в Dependency-Track).

### Requirements

* В **Sequences** перед этим инструментом должен быть добавлен job **Code Downloader**
* В **Sequences** после данного инструмента должен быть добавлен любой инструмент принимающий артфакты от SBOM&#x20;

### Как работает

Сканер использует официальный docker-образ:

* `anchore/syft:v1.41.0-debug`

Команда запуска

```shellscript
/syft "dir:./${SEC_CODE_FOLDER}" -o cyclonedx-json=/data/sbom.json
```

На выходе формируется SBOM в формате **CycloneDX JSON**

Отчёт сохраняется в pipeline volume (обычно в `/data`) как артефакт для следующих шагов пайплайна.

### Переменные окружения (env)

| Переменная            | Значение по умолчанию        | Обязательное | Описание                                                         |
| --------------------- | ---------------------------- | ------------ | ---------------------------------------------------------------- |
| **SEC\_CODE\_FOLDER** | (указывается автоматический) | Да           | Относительный путь к папке с кодом, которую нужно просканировать |

### Ссылки <a href="#ssylki" id="ssylki"></a>

* [Syft documentation](https://github.com/anchore/syft)
* [Syft wiki](https://github.com/anchore/syft/wiki)
* [Syft supported stack and package managers](https://oss.anchore.com/docs/capabilities/all-packages/)
