
checkov v3.3.9
Инструмент статического анализа для инфраструктуры как код, который обнаруживает облачные неверные конфигурации, уязвимости и секреты в Terraform, Kubernetes, CloudFormation и образах контейнеров во время сборки.
Checkov — это инструмент статического анализа кода для инфраструктуры как кода (IaC), а также инструмент анализа состава программного обеспечения (SCA) для образов и пакетов с открытым исходным кодом.
Он сканирует облачную инфраструктуру, подготовленную с помощью Terraform, Terraform plan, Cloudformation, AWS SAM, Kubernetes, Helm charts, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Templates или OpenTofu и обнаруживает ошибки конфигурации безопасности и соответствия с помощью графового сканирования.
Он выполняет сканирование анализа состава программного обеспечения (SCA), которое представляет собой сканирование пакетов с открытым исходным кодом и образов на наличие общих уязвимостей и экспозиций (CVE).
Checkov также лежит в основе Prisma Cloud Application Security — платформы, ориентированной на разработчиков, которая кодифицирует и упрощает облачную безопасность на протяжении всего жизненного цикла разработки. Prisma Cloud выявляет, исправляет и предотвращает ошибочные конфигурации облачных ресурсов и файлов инфраструктуры как кода.
Оглавление
Возможности
- Более 1000 встроенных политик покрывают лучшие практики безопасности и соответствия требованиям для AWS, Azure и Google Cloud.
- Сканирует файлы шаблонов Terraform, Terraform Plan, Terraform JSON, CloudFormation, AWS SAM, Kubernetes, Helm, Kustomize, Dockerfile, Serverless framework, Ansible, Bicep, ARM и OpenTofu.
- Сканирует файлы рабочих процессов Argo Workflows, Azure Pipelines, BitBucket Pipelines, Circle CI Pipelines, GitHub Actions и GitLab CI.
- Поддерживает политики с учетом контекста на основе графового сканирования в памяти.
- Поддерживает формат Python для атрибутивных политик и формат YAML как для атрибутивных, так и для составных политик.
- Обнаруживает учетные данные AWS в EC2 Userdata, переменных окружения Lambda и провайдерах Terraform.
- Определяет секреты с помощью регулярных выражений, ключевых слов и обнаружения на основе энтропии.
- Оценивает настройки Terraform Provider для регулирования создания, управления и обновлений IaaS, PaaS или SaaS, управляемых через Terraform.
- Политики поддерживают оценку переменных с их необязательным значением по умолчанию.
- Поддерживает встроенное подавление принятых рисков или ложных срабатываний для уменьшения повторяющихся неудач сканирования. Также поддерживает глобальный пропуск при использовании CLI.
- Вывод в настоящее время доступен в виде CLI, CycloneDX, JSON, JUnit XML, CSV, SARIF и github markdown, а также ссылка на руководства по исправлению.
Скриншоты
Результаты сканирования в CLI

Результаты запланированного сканирования в Jenkins

Начало работы
Требования
- Python >= 3.9, <=3.12
- Terraform >= 0.12
Установка
Для установки pip следуйте официальной документации```sh pip3 install checkov
Некоторые среды (например, Debian 12) могут потребовать установки Checkov в виртуальное окружение```sh
# Create and activate a virtual environment
python3 -m venv /path/to/venv/checkov
cd /path/to/venv/checkov
source ./bin/activate
# Install Checkov with pip
pip install checkov
