Get listed

Best IaC Security Tools for Terraform and K8s Before Merge

Fail the pull request on the plan. CSPM still reads the live account.

Unit 42 found nearly 50% of scanned CloudFormation templates carried a potentially vulnerable configuration, and 22% of Terraform files did too.

A green terraform plan still feels like a pass. The open security group or public bucket only shows up after apply, when CSPM opens a ticket on the live account.

IaC security tools fail the pull request on the file or plan you are about to merge. Policy packs you host, vendor checks on the PR, and post-apply posture are different gates. The broader CNAPP graph stays on cloud security platforms.

How we evaluated

We read first-party docs, source, licenses, and release notes, and we treat a marketing page as a claim, not as proof two products do the same work. We asked whether Terraform, CloudFormation, and Kubernetes manifests are covered before merge, whether custom policy is possible, how CI exits, and whether the product is an engine you run or a commercial PR desk. Live-account only scanners missed this cut.

ToolBest forWhat to check
CheckovOpen multi-flavor IaC scan in CIApache-2.0 ยท many frameworks ยท Prisma-stewarded
KICSOpen query pack on IaC you already wroteApache-2.0 ยท Checkmarx ยท SARIF out
TrivyConfig scan after tfsec merged inApache-2.0 ยท trivy config ยท one binary
TerrascanOpen policy packs on Terraform-shaped IaCApache-2.0 ยท Tenable-adjacent ยท CI
Prisma Cloud Code SecurityCommercial Bridgecrew-class PR and driftCommercial ยท IaC on the PR ยท Checkov sibling
Snyk IaCCommercial IaC next to Snyk SCACommercial / free tier ยท same Snyk tenant
How the tools differ
Open, multi-flavor
Commercial, multi-flavor
Open, Terraform-shaped
Commercial, Terraform-shaped
1

Checkov

Best for an open multi-flavor IaC scan in CI

Checkov

Checkov is a static analysis CLI for infrastructure as code. First-party docs list Terraform, CloudFormation, Kubernetes YAML, Helm, ARM, Bicep, Dockerfiles, OpenTofu, and more. Policies ship as built-in checks plus custom Python or YAML rules you own.

Bridgecrew built it. Palo Alto stewards it inside Prisma Cloud Application Security docs, and the open CLI stays Apache-2.0. Optional API keys sync findings into Prisma. The CLI alone is enough to fail CI on a plan you control.

Key features:

  • Multi-framework IaC and graph-based checks on first-party docs
  • Custom policies in Python or YAML
  • CI exit codes, SARIF/JSON, and GitHub Action paths they document
  • Optional Prisma Cloud sync when you already pay that desk

Why we like it:

A CI fail on the plan is the first control worth installing when the team already writes Terraform or CloudFormation.

Limits:

Noise on generated modules and external module trees unless you turn on download flags they document. Prisma gravity. Not a live-account CSPM.

License or pricing: Apache-2.0 for the CLI. Prisma sync is commercial.

2

KICS

Best for an open query pack on IaC you already wrote

KICS

KICS (Keeping Infrastructure as Code Secure) is Checkmarx’s open query engine for IaC misconfigurations. You run the queries against the files in the repo. SARIF output is a first-party path into the PR tools you already use.

A second open engine keeps the open row from becoming a Checkov recap. Query tuning is still yours when a pack misfires on generated modules.

Key features:

  • Query pack across platforms Checkmarx lists on the product page
  • Apache-2.0 engine you host
  • SARIF and other machine-readable outputs
  • CI wiring on public docs and the GitHub project

Why we like it:

When the first pack’s noise is the complaint, a second open query engine is a real alternative, not a logo swap.

Limits:

You own false friends. Query maintenance is part of the job.

License or pricing: Apache-2.0.

3

Trivy

Best for config scanning after tfsec merged in

Trivy

Trivy scans images, filesystems, and infrastructure misconfigurations. Aqua moved tfsec’s Terraform work into trivy config. The tfsec docs themselves point teams at Trivy for ongoing misconfiguration rules.

If Trivy is already in CI for images, enabling config is often cheaper than adding a fourth engine. Say which job you turned on. Image CVE scanning is a sibling job, not this list’s center.

Key features:

  • trivy config for Terraform, CloudFormation, Kubernetes, Helm, and related files
  • Same binary as image and SBOM scans
  • Rego custom policies on the misconfig path
  • Apache-2.0, actively maintained as the tfsec successor

Why we like it:

The binary you already run is the first IaC job when tfsec is pinned and stale.

Limits:

One binary, many jobs. Misconfig, CVE, and secret scans are different switches. Custom tfsec JSON/YAML policies may need a Rego rewrite.

License or pricing: Apache-2.0.

4

Terrascan

Best for open policy packs on Terraform-shaped IaC

Terrascan

Terrascan evaluates infrastructure as code against policy packs before provision. Tenable hosts the product page and the GitHub project. The shape is Terraform-first with packs you can run in CI.

A third open runner is useful when Checkov or KICS noise is why the last pilot stalled. Read the current repository pulse before you promise it on a platform team roadmap.

Key features:

  • Policy packs aimed at cloud IaC misconfig
  • CLI you host in CI
  • Apache-2.0
  • Tenable-adjacent docs and distribution

Why we like it:

Another open pack gives you a second opinion without a sales call.

Limits:

Project pulse and pack fit vary. Confirm the release you pin still matches the IaC flavors you write.

License or pricing: Apache-2.0.

5

Prisma Cloud Code Security

Best for commercial Bridgecrew-class PR checks and drift

Prisma Cloud Code Security

Prisma Cloud Code Security is the commercial desk that absorbed Bridgecrew. The first-party Cloud Code Security page names Infrastructure as Code scanning alongside SCA, secrets, and policy-as-code on the same developer path.

Checkov remains the open CLI. This SKU is the PR annotation, centralized policy, and build-to-runtime feedback loop when the org already buys Prisma. The full CNAPP graph is a different shortlist; here the job is the file and the PR before merge.

Key features:

  • IaC template scanning called out on the Cloud Code Security page
  • Embedded checks in DevOps tooling they document
  • Policy controls shared from build time toward runtime
  • Open-source Checkov as the engine many teams already run

Why we like it:

When Bridgecrew is the ask and Prisma is already on the contract, this is the honest commercial name, not a second free CLI.

Limits:

Sales-quoted. Broader than a single scanner. Do not confuse Code Security with a CSPM-only SKU, and do not treat it as free Checkov.

License or pricing: Commercial. No public list price on the page we read.

6

Snyk IaC

Best for commercial IaC next to Snyk SCA

Snyk IaC

Snyk IaC is the file scan that sits beside Snyk Open Source on the same pull request. Docs cover Terraform and related IaC with PR annotations in the Snyk tenant developers already open.

Overlap with SCA is the vendor, not the job. If Snyk is already failing the PR for packages, enabling IaC is often the smaller change than standing up a second commercial desk.

Key features:

  • PR annotations in the Snyk workflow
  • Terraform and related IaC on public docs
  • Same tenant as Snyk SCA for many teams
  • Free and paid tiers Snyk documents

Why we like it:

The commercial IaC job is simplest when the PR already belongs to Snyk.

Limits:

Commercial noise. Stacking Checkov and Snyk IaC on the same files without a suppression plan doubles the ticket load.

License or pricing: Commercial with a free tier on Snyk’s public plans.

How to choose an IaC security tool

Four questions before the trial clock. Names below are the shortlist, not a scored bake-off.

Critical questionWhy it mattersWhat to evaluateRed flag
Does a fixture open security group in Terraform we own fail CI?If the engine cannot fail the plan, CSPM still owns the first ticket.Checkov, KICS, Terrascan, or trivy config on a known-bad fixture. Prisma or Snyk if the PR desk must annotate.A demo that only scans a live account.
Do we already run Trivy or Snyk on the PR?A fourth engine is usually worse than enabling the job you already paid for.Trivy config if the binary is present. Snyk IaC if SCA is already blocking.Two IaC scanners on the same files with no suppression owner.
Is the rule ours, or are we inheriting a pack?Custom Rego or Checkov policies cost time. Packs cost noise.Checkov/KICS custom paths vs Terrascan packs vs vendor defaults.No one named to maintain skips.
Is Bridgecrew still the ask on the RFP?Bridgecrew folded into Prisma Cloud Code Security. Checkov is the open CLI.Prisma Code Security on the quote. Checkov alone if you only need CI.Buying a full CNAPP for a plan-time gate.

What we left out

  • tfsec as a separate product. Aqua moved misconfig work into Trivy. Pinning tfsec today means a frozen rule set.
  • Conftest. Rego-on-any-file is real, and it already sits on the related IaC scanners page. This shortlist keeps the Bridgecrew-class commercial seat for Prisma Cloud Code Security.
  • CNAPP-only rows. Wiz, CrowdStrike, and peers as a posture shortlist belong on cloud security platforms and CSPM, not here.

What practitioners argue about IaC scanners

Live threads. We quoted the argument, not the score. The fight is usually when to block the merge, and whether tfsec still counts as a product.

Hacker News

Got a really bad taste when Aqua just dropped support for tfsec entirely, including closing all GitHub issues even unfixed, instead pointing to trivy.

Nov 2023 thread on the tfsec-to-Trivy move. The dissenting worry is vendor control of an open tool people already pinned in CI. Comment permalink.

Stack Overflow

I would like to have checkov scan terraform plan output but I am not getting any success with that.

Jan 2022. Teams keep hitting the gap between scanning HCL on disk and scanning the JSON plan after terraform show. Answers point at checkov -f tfplan.json style wiring. Same thread as the Checkov entry quote.

DevOps Stack Exchange

Infrastructure as Code (IaC) Scans: Conditional Block for critical misconfigurations (e.g., public buckets, open security groups).

Quality-gate framing: audit first, then block the obvious. Secrets and critical IaC land in the block bucket; medium noise stays warn-only until suppressions exist. Thread.

If Trivy or Snyk already sits on the PR, enable the IaC job before adding another engine. If you need an open CLI tonight, run Checkov or trivy config on a known-bad fixture, then decide whether Prisma Cloud Code Security is the commercial desk you keep.

FAQs

Does IaC scanning replace CSPM?

No. The file is the intent. The account is the truth. Fail the plan here; read the live account on the CSPM list.

Where did tfsec go?

Aqua merged tfsec misconfiguration work into Trivy. Use trivy config. The old binary may still run, but new rules land in Trivy.

Is Bridgecrew still a separate product?

Bridgecrew was acquired into Palo Alto’s Prisma Cloud. The commercial name on first-party pages is Prisma Cloud Code Security / Cloud Code Security. Checkov remains the open CLI.

Is this a scored bake-off?

No. Order is editorial.

Platform security resources