コンテンツにスキップ

checkov@脆弱性診断

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. checkovの仕組み

検出内容

IaC (Kubernetes、Terraform、Dockerfile) で報告されたCVEに基づいて、そのツールの設定ファイルの実装方法に起因する脆弱性を検証する。

PythonやYAMLでカスタムポリシーを実装できる。


対象ツール

検査できるツールは、--frameworkオプションの説明から確認できる。


02. セットアップ

インストール

$ pip3 install checkov
$ brew install checkov


03. オプション

--compact

問題のあるコード箇所を非表示にして、結果を表示する。

--compactオプションを有効化しない場合、問題のあるコード箇所を表示する。

$ checkov -f <IaCファイル> --compact


-d

ディレクトリ内のファイルを再帰的に処理する。

$ checkov -d <ディレクトリ名>


--framework

検査するツール名を設定する。

$ checkov --framework <ツール名>


-f

単一のファイルを処理する。

$ checkov -f <IaCファイル>

マニフェスト管理ツール (Helm、Kustomize) の作成したマニフェストファイルを渡しても良い。

$ helm template . -f foo-values.yaml -f foo-secrets.yaml > manifest.yaml

$ checkov -f manifest.yaml


--quiet

失敗した項目のみを結果として出力する。

--quietオプションを有効化しない場合は、成功と失敗の両方の項目を出力する。

$ checkov -f <IaCファイル> --quiet


--skip-check

検出から除外する重要度レベル (LOW,MEDIUM,HIGH) やCVEのIDを設定する。

BC-APIキーが必要で、これはBridgecrewダッシュボードから取得する必要がある。

$ checkov -f <IaCファイル> --skip-check HIGH,CKV_*** --bc-api-key <BC-APIキー>