
checkov v3.3.9
ビルド時にTerraform、Kubernetes、CloudFormation、コンテナイメージ全体でクラウドの誤設定、脆弱性、シークレットを検出するインフラストラクチャ・アズ・コード向けの静的解析ツール。
Checkov は、Infrastructure as Code (IaC) の静的コード分析ツールであり、イメージやオープンソースパッケージ向けのソフトウェア構成分析 (SCA) ツールでもあります。
Terraform や Terraform plan、Cloudformation、AWS SAM、Kubernetes、Helm チャート、Kustomize、Dockerfile、Serverless、Bicep、OpenAPI、ARM テンプレート、OpenTofu を使用してプロビジョニングされたクラウドインフラストラクチャをスキャンし、グラフベースのスキャンによりセキュリティとコンプライアンスの設定ミスを検出します。
オープンソースパッケージやイメージを対象に、Common Vulnerabilities and Exposures (CVE) をスキャンする Software Composition Analysis (SCA) スキャン を実行します。
Checkov は、開発ライフサイクル全体でクラウドセキュリティを定義・合理化する、開発者ファーストのプラットフォーム Prisma Cloud Application Security にも活用されています。Prisma Cloud は、クラウドリソースや Infrastructure-as-Code ファイルにおける設定ミスの特定、修正、防止を行います。
目次
機能
- 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 形式に対応。
- EC2 の Userdata、Lambda 環境変数、Terraform プロバイダー内の AWS 認証情報 を検出。
- 正規表現、キーワード、エントロピーベースの検出によりシークレットを特定。
- Terraform を通じて管理される IaaS、PaaS、SaaS の作成、管理、更新を規制する Terraform Provider 設定を評価。
- ポリシーは、変数 のオプションのデフォルト値への評価に対応。
- 許容されるリスクや誤検知のインライン抑制 に対応し、繰り返しのスキャン失敗を削減。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
# Optional: Create a symlink for easy access
sudo ln -s /path/to/venv/checkov/bin/checkov /usr/local/bin/checkov
または Homebrew (macOS または Linux)```sh brew install checkov
### bash autocomplete を有効にする```sh
source <(register-python-argcomplete checkov)
