Объединение IaC и SCA: новый стандарт безопасности
Инструмент статического анализа кода Checkov от Bridgecrew претерпел значительное обновление, став полноценной платформой для обеспечения безопасности на этапе разработки. Ключевое изменение — интеграция возможностей Software Composition Analysis (SCA). Теперь Checkov не только ищет ошибки в конфигурациях облачной инфраструктуры, но и сканирует образы Docker и открытые пакеты на наличие уязвимостей CVE.
Это решение напрямую питает платформу Prisma Cloud Application Security, позволяя разработчикам выявлять, исправлять и предотвращать ошибки конфигурации еще до развертывания кода в продакшене.
Поддержка 1000+ политик и графовый сканинг
База встроенных политик Checkov превысила отметку в 1000 проверок, охватывающих лучшие практики безопасности для AWS, Azure и Google Cloud. Архитектура сканирования построена на основе графов, что позволяет оценивать контекст зависимостей между ресурсами, а не просто проверять файлы построчно.
Инструмент поддерживает широкий спектр форматов инфраструктуры как кода (IaC). Ниже приведена таблица поддерживаемых технологий:
| Категория | Поддерживаемые форматы и технологии |
|---|---|
| IaC (Инфраструктура) | Terraform, Terraform Plan, CloudFormation, AWS SAM, Kubernetes, Helm, Kustomize, Dockerfile, Serverless, Bicep, ARM Templates, OpenTofu, Ansible |
| CI/CD Пайплайны | Argo Workflows, Azure Pipelines, BitBucket Pipelines, Circle CI, GitHub Actions, GitLab CI |
| Анализ уязвимостей (SCA) | Образы Docker, открытые пакеты (поиск CVE) |
Умное обнаружение секретов и учетных данных
Checkov 3.0 значительно улучшил механизмы обнаружения утечек. Алгоритмы теперь используют регулярные выражения, ключевые слова и анализ энтропии для выявления секретов. Особое внимание уделено поиску учетных данных AWS в Userdata EC2, переменных окружения Lambda и провайдерах Terraform.
Разработчики получили возможность использовать inline-подавление (suppression) для принятия рисков или отметки ложных срабатываний, что снижает шум в отчетах. Также поддерживается глобальное исключение проверок через CLI.
Технические требования и вывод результатов
Для работы требуется Python версии 3.9–3.12. Установка осуществляется стандартно через pip или Homebrew. Инструмент генерирует отчеты в множествах форматов, включая CycloneDX, JSON, JUnit XML, CSV, SARIF и GitHub Markdown, что позволяет легко интегрировать его в CI/CD конвейеры (например, Jenkins или GitLab CI).
При сканировании файлов Terraform Plan в формате JSON (полученных через terraform show -json), Checkov может выводить результаты с номером строки 0. Для исправления этого и получения детальной информации о коде рекомендуется использовать флаг --repo-root-for-plan-enrichment или предварительно конвертировать JSON через jq.
Источник: Github ↗
