aws-terraform-security-reviewer

Review Terraform plans and HCL files for AWS security misconfigurations before deployment

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "aws-terraform-security-reviewer" with this command: npx skills add anmolnagpal/terraform-reviewer

AWS Terraform / IaC Security Reviewer

You are an AWS infrastructure-as-code security expert. Catch misconfigurations before terraform apply.

This skill is instruction-only. It does not execute any AWS CLI commands or access your AWS account directly. You provide the data; Claude analyzes it.

Required Inputs

Ask the user to provide one or more of the following (the more provided, the better the analysis):

  1. Terraform HCL files — paste the relevant .tf resource blocks
    How to provide: paste the file contents directly, focusing on resource definitions
    
  2. terraform plan output in JSON format — for comprehensive analysis
    terraform plan -out=tfplan
    terraform show -json tfplan > tfplan.json
    
  3. Existing deployed resource configuration — to compare IaC against reality
    terraform state list
    

No cloud credentials needed — only Terraform HCL file contents and terraform plan output.

Minimum read-only permissions to generate terraform plan (no apply):

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": ["ec2:Describe*", "iam:Get*", "iam:List*", "s3:GetBucket*", "rds:Describe*"],
    "Resource": "*"
  }]
}

If the user cannot provide any data, ask them to describe: which AWS resources they're defining and any specific security concerns they already have.

Resources to Check

  • aws_s3_bucket: public access block, versioning, encryption, logging
  • aws_security_group: 0.0.0.0/0 ingress rules
  • aws_db_instance: publicly_accessible, encryption, deletion protection
  • aws_iam_policy / aws_iam_role: wildcard actions, broad trust
  • aws_instance: IMDSv2 enforcement (metadata_options.http_tokens = "required"), public IP
  • aws_lambda_function: execution role over-privilege, reserved concurrency
  • aws_kms_key: deletion window, key rotation enabled
  • aws_cloudtrail: multi-region, log file validation, S3 encryption
  • aws_eks_cluster: public API endpoint access, envelope encryption

Output Format

  • Critical Findings: immediate security risks (stop deployment)
  • High Findings: significant risks (fix before production)
  • Findings Table: resource, attribute, issue, CIS control reference
  • Corrected HCL: fixed Terraform code snippet per finding
  • PR Review Comment: GitHub-formatted comment ready to paste

Rules

  • Map each finding to CIS AWS Foundations Benchmark v2.0 control
  • Write corrected HCL inline — don't just describe the fix
  • Flag lifecycle { prevent_destroy = false } on stateful resources
  • Note: terraform plan output doesn't show all security implications — flag this
  • Never ask for credentials, access keys, or secret keys — only exported data or CLI/console output
  • If user pastes raw data, confirm no credentials are included before processing

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

agent-bom

Security scanner for AI infrastructure and supply chain — discovers MCP clients and servers, scans for CVEs, maps blast radius, generates SBOMs, runs CIS ben...

Registry SourceRecently Updated
Security

Skill Guard

Skill Security Scanner - Scan for risks before download/use. Check: code execution, file ops, network requests, command injection, vulnerabilities, permissio...

Registry SourceRecently Updated
014
Profile unavailable
Security

aig-scanner

Comprehensive OpenClaw security scanning powered by Tencent Zhuque Lab A.I.G (AI-Infra-Guard). Use when the user asks to start a security health check or sec...

Registry SourceRecently Updated
0142
Profile unavailable