Product

Infrastructure as Code Scanning

Catch infrastructure misconfigurations before they deploy. Spans Terraform, Kubernetes manifests, Dockerfiles, and CI workflows, with the context to know which findings actually matter in your stack.

Schedule a Technical Demo →
Keygraph IaC scan results showing infrastructure misconfigurations

Traditional IaC scanners flag rules. We flag risk. Keygraph reads your infrastructure-as-code alongside your application code, understands how resources reference each other, and evaluates whether a finding is real danger or expected behavior.

What it finds.

Four categories of infrastructure risk, evaluated in the context of how your resources actually connect.

Public exposure
Buckets, ports, databases

S3 buckets with public ACLs, security groups open to 0.0.0.0/0, databases accepting external connections.

IAM misconfiguration
Wildcards and admin scope

Wildcard permissions, overly permissive trust relationships, service accounts with admin scope.

Encryption gaps
At-rest and in-transit

Unencrypted storage, disabled KMS keys, missing TLS on in-transit traffic between services.

Runtime exposure
Container security contexts

Containers running as root, hostPath mounts, privileged flags, disabled security contexts.

Plain-English findings
Misconfigurations described in plain English.

Every IaC finding ships with a natural-language description: what went wrong, why it matters in your stack, and how to fix it. Real-time progress tracking surfaces scan status during active runs.

How IaC Scanning works.

Four stages, from module parse to prioritized report. Every finding is evaluated against the rest of your codebase before it reaches you.

01
Parse
Build the resource graph.

Keygraph parses your IaC files into a resource graph and resolves cross-references: a security group attached to an EC2 instance, an IAM role assumed by a Lambda.

02
Evaluate
Check baseline plus context.

Every potentially-dangerous resource is checked against baseline policies (CIS, NIST 800-53) plus an LLM contextual pass that asks the question that actually matters: given this VPC topology, is this rule genuinely exposed?

03
Validate
Cross-check the codebase.

Findings cross-checked against the rest of your codebase. A public S3 bucket is fine if it serves static assets, critical if a Lambda writes PII to it.

04
Report
Prioritize by real risk.

Prioritized by real-world risk, not raw CVE severity. Every finding ships with the cross-references that make it dangerous.

SARIF-compliant output
Deduplicated across IaC, SAST, SCA, and pentest agents.

Keygraph emits IaC findings in standard SARIF and pushes them through the same canonical findings deduplication and dashboard as everything else. One vulnerability, one canonical entry, no matter which scanner flagged it.

Frameworks we scan.

Every major IaC format, with cross-resource resolution and module-level understanding.

Terraform
AWS, GCP, Azure providers

Reads modules and tracks cross-resource references. Understands remote state, data sources, and provider aliasing.

Kubernetes
YAML, Helm, Kustomize

Manifests, Helm charts, Kustomize overlays. Checks RBAC, pod security, and network policies together.

CloudFormation
Nested stack resolution

Full nested stack resolution. IAM analysis across stacks, with cross-stack output and import tracking.

Docker
Dockerfiles, compose, base images

Dockerfiles, compose files, base image audit. Layer-by-layer inspection with build-arg propagation.

Compliance coverage
CIS, NIST 800-53, HIPAA, PCI-DSS

Every scan produces an exportable report mapped to the compliance frameworks that matter. Baseline policies built in. No custom rule authoring required to get started.

See a sample report →

See it scan your infra.

Schedule a demo and watch IaC Scanning run against your Terraform modules and Kubernetes manifests.