Что такое Checkov?

Checkov — это open-source инструмент статического анализа для Infrastructure as Code (IaC), разработанный Bridgecrew (теперь часть Palo Alto Networks). Checkov сканирует Terraform, CloudFormation, Kubernetes, Dockerfile и другие IaC файлы на предмет неправильных конфигураций безопасности и compliance нарушений.

Основные возможности Checkov

  • Multi-platform поддержка — Terraform, CloudFormation, Kubernetes, Docker
  • 1000+ встроенных правил — покрытие основных security best practices
  • Custom политики — создание собственных правил на Python или YAML
  • CI/CD интеграция — поддержка всех популярных систем
  • IDE плагины — интеграция с VS Code, IntelliJ
  • SARIF output — совместимость с GitHub Security tab
  • Baseline scanning — сравнение с предыдущими результатами

Установка Checkov

 1# Установка через pip
 2pip install checkov
 3
 4# Установка через poetry
 5poetry add --group dev checkov
 6
 7# Установка через Homebrew (macOS)
 8brew install checkov
 9
10# Установка через Docker
11docker pull bridgecrew/checkov
12
13# Проверка установки
14checkov --version

Базовое использование

 1# Сканирование текущей директории
 2checkov -d .
 3
 4# Сканирование конкретного файла
 5checkov -f main.tf
 6
 7# Сканирование с фильтрацией по framework
 8checkov -d . --framework terraform
 9
10# Сканирование с выводом в JSON
11checkov -d . --output json
12
13# Сканирование с определенным уровнем severity
14checkov -d . --check LOW,MEDIUM,HIGH,CRITICAL

Когда использовать Checkov

  • Infrastructure as Code проекты
  • Multi-cloud развертывания
  • Compliance требования (SOC 2, PCI DSS)
  • DevSecOps практики
  • Shift-left security подход
  • Automated security testing в CI/CD

Преимущества Checkov

  • Широкая поддержка — множество IaC платформ и cloud провайдеров
  • Готовые правила — 1000+ встроенных security checks
  • Расширяемость — легкое создание custom политик
  • CI/CD friendly — простая интеграция в пайплайны
  • Open Source — бесплатный и с активным сообществом
  • IDE интеграция — проверки на этапе разработки

FAQ

Поддерживает ли Checkov Terraform modules?

Да, Checkov может анализировать как локальные, так и remote Terraform модули. Он рекурсивно сканирует все конфигурационные файлы.

Можно ли интегрировать Checkov с Terraform Cloud?

Да, можно использовать Checkov как pre-plan hook или интегрировать через Sentinel policies для блокировки небезопасных конфигураций.

Как создать исключения для конкретных ресурсов?

Используй inline комментарии в IaC файлах: `#checkov:skip=CKV_AWS_79:Reason for skipping` или настрой исключения в .checkov.yaml файле.