Checkov vs tfsec: IaC セキュリティスキャンの比較
どちらも Infrastructure as Code をスキャンして設定ミスを探します。Checkov (Bridgecrew/Prisma) は大きなポリシーセットで多くの IaC フレームワークをカバーし、tfsec は Terraform に特化しており Trivy に統合されつつあるため、長期的なメンテナンスに影響します。
Checkov と tfsec はどちらも、apply する前に安全でない IaC (パブリックなバケット、開いた security group、暗号化の欠如) をフラグします。Checkov はフレームワークをまたいで広範で、tfsec は Terraform に特化しています。Aqua が tfsec を Trivy に取り込みつつある点に注意し、選択の際に考慮しましょう。ここでは率直な比較を示します。
| Checkov | tfsec | |
|---|---|---|
| スコープ | Terraform、CloudFormation、K8s、Helm、ARM など | Terraform 特化 |
| ポリシーセット | 大きな組み込みライブラリ | 堅実な Terraform ルール |
| カスタムポリシー | Python + YAML | カスタムチェック (Rego/JSON) |
| 出力 | CLI、SARIF、JUnit | CLI、SARIF、JSON |
| メンテナンス | 積極的にメンテナンス | Trivy に統合中 |
| 最適な用途 | マルチフレームワークのカバレッジ | Terraform、または今後は Trivy 経由 |
広さ vs 集中
Checkov は多くの IaC タイプ (Terraform、CloudFormation、Kubernetes、Helm、ARM など) を、定期的に更新される大きなポリシーライブラリでスキャンし、混在したインフラを持つチームに向いています。tfsec は Terraform に鋭く集中し、明確で読みやすい検出結果を出すため、歴史的に純粋な Terraform 中心のチームに好まれてきました。
tfsec から Trivy への移行
率直な注意点です。Aqua Security は tfsec の機能を Trivy に統合してきており、新しい投資はそちらへ流れています。今日選ぶなら、tfsec を直接採用するか、tfsec の機能の多くを、脆弱性、secret、SBOM のスキャンとともに 1 つのツールで引き継ぐ Trivy の config scanning を使うかを検討しましょう。
CI では
どちらも高速な PR ゲートとして実行され、code scanning 向けに SARIF を出力します。既存のバックログをトリアージするためにまず非ブロッキングで始め、その後、設定ミスが merge されないよう新しい変更に対して強制しましょう。
結論
積極的にメンテナンスされる広範なマルチフレームワーク IaC カバレッジには Checkov を、集中した Terraform スキャンには tfsec を選びましょう。ただし Trivy への統合を考慮し、長期的には Trivy の config scanning も検討しましょう。