1 IaC Security Misconfigurations
Infrastructure-as-Code (Terraform, CloudFormation, Pulumi) defines cloud resources in code. Security misconfigurations in IaC are deployed at scale and often persist undetected.
Open S3 bucket (Terraform):
resource "aws_s3_bucket" "data" {
bucket = "company-sensitive-data"
}
resource "aws_s3_bucket_acl" "data_acl" {
bucket = aws_s3_bucket.data.id
acl = "public-read" # DANGEROUS: anyone can read all objects!
}Unrestricted security group:
resource "aws_security_group" "database" {
ingress {
from_port = 5432
to_port = 5432
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"] # PostgreSQL open to entire internet!
}
}Hardcoded password in IaC:
resource "aws_db_instance" "main" {
password = "my-db-password" # Committed to git in plain text!
}