Trivy IaC
Overview
Заголовок раздела «Overview»Trivy IaC (режим trivy config) используется в TRAIO для сканирования IaC-конфигураций на ошибки безопасности и misconfiguration. Обычно Trivy анализирует Terraform, Kubernetes manifests, Helm charts и другие конфигурационные файлы.
Supported Stack
Заголовок раздела «Supported Stack»- Terraform (
*.tf,*.tfvars) - Kubernetes manifests (
*.yaml,*.yml) - Helm charts (
Chart.yaml,values.yaml) - Dockerfile
Requirements
Заголовок раздела «Requirements»- В Sequences перед этим инструментом должен быть добавлен job Code Downloader.
How it works
Заголовок раздела «How it works»Сканер использует официальный docker-образ Trivy:
aquasec/trivy:latest
Пример команды:
if [ "$TRIVY_MODE" = "image" ]; then trivy image --format json --output "/data/$REPORT_FILE_NAME" "$DOCKER_IMAGE" || trueelif [ "$TRIVY_MODE" = "iac" ]; then trivy config --format json --output "/data/$REPORT_FILE_NAME" ./ || trueelse trivy fs --format json --output "/data/$REPORT_FILE_NAME" ./ || truefi
echo "Trivy report saved to /data/$REPORT_FILE_NAME"cat "/data/$REPORT_FILE_NAME"Variables
Заголовок раздела «Variables»| Переменная | Пример | Обязательная | Описание |
|---|---|---|---|
| REPORT_FILE_NAME | trivy-iac.json |
Да | Имя файла отчёта, который TRAIO забирает из /data. |
| SCAN_TYPE | Trivy Scan |
Да | Тип сканирования для парсинга в TRAIO. |
| TRIVY_MODE | iac |
Да | Режим запуска. |
Offline mode:
Заголовок раздела «Offline mode:»Trivy DB-Included - Need to Choose Mode — job для запуска Trivy в полностью оффлайн контуре на базе образа registry.gitlab.com/traio-group/tools/trivy-offline:0.68.2, где базы (Trivy DB и Java DB) уже предзагружены в образ.
В этом job нужно выбрать режим сканирования через TRIVY_MODE: fs (сканирование файловой системы/репозитория), iac (сканирование IaC через trivy config) или image (сканирование контейнерного образа через trivy image). Если TRIVY_MODE не задан, стандартно используется режим fs.
- Trivy (Configuration/IaC scanning): https://aquasecurity.github.io/trivy/latest/docs/target/config/
- Trivy docs: https://aquasecurity.github.io/trivy/