# Checkov

## Checkov

### Overview

Checkov — IaC security scanner для поиска небезопасных конфигураций и нарушений best practices в инфраструктурном коде (Terraform, Kubernetes manifests, Helm, CloudFormation и др.), интегрированный в TRAIO.

### Requirements

В **Sequences** перед этим инструментом должен быть добавлен job **Code Downloader**

### Supported languages

* Terraform (HCL)
* Kubernetes manifests (YAML)
* Helm charts
* CloudFormation
* Dockerfile

### Key features

* Быстрый запуск “из коробки” через официальный docker-образ
* Сканирование директории с инфраструктурным кодом
* JSON-отчёт для последующего парсинга в TRAIO
* Возможность ускорения за счёт исключения тяжёлых директорий (например, `.terraform`)

### How it works

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

* `ghcr.io/bridgecrewio/checkov:latest`

Команда запуска (пример):

`checkov -d ./ -o json --output-file-path /data --quiet`

### Variables

| Переменная         | Пример              | Обязательная | Описание                                                  |
| ------------------ | ------------------- | ------------ | --------------------------------------------------------- |
| REPORT\_FILE\_NAME | `results_json.json` | Да           | Имя итогового отчёта, который TRAIO забирает из `/data/`. |
| SCAN\_TYPE         | `Checkov Scan`      | Да           | Тип сканирования для парсинга в TRAIO.                    |

### Recommended arguments

Ниже — аргументы, которые чаще всего полезны в CI:

* `--quiet` — уменьшает шум в логах
* `--framework terraform` (или `kubernetes`, `helm`, `cloudformation`) — ускоряет скан, если нужно ограничить типы файлов
* `--skip-path .terraform` — must-have для Terraform, чтобы не сканировать скачанные модули/кэш
* Дополнительно для ускорения в больших репозиториях:
  * `--skip-path node_modules`
  * `--skip-path .venv` / `--skip-path venv`
  * `--skip-path vendor`
  * `--skip-path dist` / `--skip-path build`
  * `--skip-path .git`

### Notes

* Режим сканирования docker image (`--docker-image`) в Checkov может требовать `--bc-api-key` (Bridgecrew/Prisma Cloud).&#x20;

### Links

* Checkov GitHub: <https://github.com/bridgecrewio/checkov>
