skillfed

checkov

Infrastructure as code static analysis

checkov v3.3.11 21.2M downloads/30d#1,008 on PyPI8,936
Permissive license Apache License 2.0 Active released

What it is and what it does

Checkov is a static analysis and software composition analysis (SCA) tool designed to catch security and compliance misconfigurations in infrastructure-as-code before deployment. It scans Terraform, CloudFormation, Kubernetes manifests, Dockerfiles, Helm charts, and several other IaC formats using graph-based analysis to understand context and relationships between resources. The tool also performs SCA scanning to detect known vulnerabilities (CVEs) in container images and open-source packages.

You run it as a command-line tool pointing to a directory or file, and it reports failures and passes against built-in policies covering AWS, Azure, and Google Cloud security best practices. Results can be output in multiple formats (CLI, JSON, JUnit XML, SARIF, CycloneDX) for integration into CI/CD pipelines or security dashboards. It supports policy suppression, variable evaluation, and secret detection using regex and entropy analysis.

Use it for:

  • Scan Terraform configurations in CI/CD to block deployments with security misconfigurations before they reach cloud infrastructure.
  • Validate Kubernetes manifests and Helm charts for compliance with security policies (e.g., pod security standards, RBAC rules).
  • Detect hardcoded AWS credentials and secrets in infrastructure code and Lambda environment variables.
  • Perform SCA scanning of container images and open-source dependencies to identify known CVEs.
  • Generate compliance reports (SARIF, JUnit XML, CycloneDX) for security audits and regulatory requirements.
  • Enforce organization-specific policies using custom YAML or Python policy definitions across all IaC files.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Checkov is a static code analysis tool that scans infrastructure-as-code files (Terraform, CloudFormation, Kubernetes, Dockerfile, and others) and container images to detect security misconfigurations and software vulnerabilities.

Yes. Checkov is actively maintained, widely adopted (top 5000 PyPI packages), has no known vulnerabilities, and low install friction. It is essential for teams managing infrastructure-as-code who want to catch security and compliance issues early. The permissive Apache 2.0 license and broad IaC format support make it suitable for most environments. Install it if you use Terraform, CloudFormation, Kubernetes, or Dockerfile in your infrastructure pipeline.

Install

checkov on PyPI

pip

pip install checkov

uv

uv add checkov

poetry

poetry add checkov

Installing checkov

Before you install

Low install friction with a pure-wheel distribution. Actively maintained with a release just 1 day old and 8936 repository stars. Requires Python 3.9–3.12; some environments (e.g., Debian 12) may need a virtual environment for installation.

License in practice

Licensed under Apache License 2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.

Quickstart

pip install checkov
checkov --directory /path/to/iac/code
# or scan a specific file:
checkov --file /path/to/terraform.tf

Requires Python >= 3.9 and <= 3.12; Terraform >= 0.12 for Terraform scanning.

Verify before relying

  • Whether the 46 runtime dependencies introduce supply-chain risk or maintenance burden in your environment.
  • Performance characteristics when scanning large IaC repositories or many files in parallel.

Package facts

License Apache License 2.0 (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 46 — bc-jsonpath-ng, pycep-parser, tabulate, colorama, termcolor, junit-xml, dpath, pyyaml, boto3, gitpython, jmespath, tqdm, packaging, cloudsplaining, networkx, dockerfile-parse, docker, configargparse, argcomplete, typing-extensions, importlib-metadata, cachetools, cyclonedx-python-lib, packageurl-python, click, aiohttp, aiodns, aiomultiprocess, schema, jsonschema
Maintenance actively maintained — 1 days since the last release
Last repo commit
First released
Downloads 21,179,540/month — #1,008 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: checkov-3.3.11-py3-none-any.whl

Environment :: ConsoleIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: SecurityTopic :: Software Development :: Build ToolsTyping :: Typed

Tags

infrastructure as code security scanningterraform static analysisIaC compliance checkingcloud misconfiguration detectiondockerfile security analysiskubernetes manifest validationCVE scanning for containers
security-scanninginfrastructure-as-codecompliance-automation

More Build Tools packages