Skip to main content

Overview

Checkov scans IaC source files for misconfigurations before deployment. It supports Terraform, CloudFormation, Kubernetes YAML, Dockerfiles, and other IaC formats.

Capabilities

  • Static analysis of IaC files without requiring a build or deployment
  • Supports Terraform, CloudFormation, ARM templates, K8s manifests, Dockerfiles, Helm charts
  • Custom Python checks for organization-specific rules
  • Graph-based analysis for cross-resource relationships within IaC

Limitations

  • Only applicable to IaC and config files — check out Semgrep or CodeQL for application source code
  • Does not test runtime infrastructure state — check out InSpec or Goss for runtime validation

Generated Format

  • Language: Python
  • Structure: Custom Checkov check classes extending BaseCheck
  • Execution: checkov --external-checks-dir <checks_directory> -d <iac_directory>

Example Guardrail

Learn more at Checkov documentation and custom Python policies.