Free plan Signups are open now. The full audytx engine — Terraform and CloudFormation — is live. The Free plan is 100 scans a month and stays free — paid tiers arrive Nov 01, 2026 from $20/month for unlimited repositories. Try it on your own code.

Rules

301 checks for AWS Terraform and CloudFormation, read from the same catalog the engine runs. Each page says what the check looks at and how to fix it.

301 shown.

ACM

AWS_ACM_001ACM certificate should use DNS validation instead of email validationMEDIUM
AWS_ACM_002ACM certificate should use RSA 2048 or ECDSA P-256 key algorithmLOW

APIGW

AWS_APIGW_001API Gateway REST stage should have access logging enabledMEDIUM
AWS_APIGW_002API Gateway stage should have X-Ray tracing enabledLOW
AWS_APIGW_005API Gateway stage has neither X-Ray nor access logsMEDIUM
AWS_APIGW_006API Gateway custom domain should not use the legacy TLS 1.0 security policyMEDIUM
AWS_APIGW_007API Gateway method cache should be encrypted when caching is enabledMEDIUM

ATHENA

AWS_ATHENA_001Athena workgroup should enforce workgroup configuration and encrypt query resultsMEDIUM

BACKUP

AWS_BACKUP_001AWS Backup vault should have Vault Lock enabled for immutable backupsMEDIUM
AWS_BACKUP_002Backup Vault Lock governance mode remains removableLOW

BATCH

AWS_BATCH_001AWS Batch job definition should not run privileged containersHIGH

BEDROCK

AWS_BEDROCK_001Bedrock service role trust policy lacks aws:SourceArn scopingHIGH
AWS_BEDROCK_002Bedrock agent conversation data not encrypted with a customer-managed keyMEDIUM
AWS_BEDROCK_003Bedrock agent idle session TTL exceeds one hourLOW
AWS_BEDROCK_004Bedrock AgentCore code interpreter has public internet accessHIGH
AWS_BEDROCK_005Bedrock AgentCore browser has public internet accessHIGH
AWS_BEDROCK_006Bedrock AgentCore memory not encrypted with a customer-managed keyMEDIUM
AWS_BEDROCK_007Bedrock AgentCore gateway not encrypted with a customer-managed keyMEDIUM

CLOUDFRONT

AWS_CLOUDFRONT_001CloudFront distribution viewer protocol policy should redirect HTTP to HTTPSHIGH
AWS_CLOUDFRONT_002CloudFront distribution should enforce a minimum TLS version of TLSv1.2MEDIUM
AWS_CLOUDFRONT_003CloudFront origin should use HTTPS — not HTTPHIGH
AWS_CLOUDFRONT_004CloudFront distribution should have access logging configuredLOW
AWS_CLOUDFRONT_005CloudFront distribution should have a WAF web ACL associatedMEDIUM
AWS_CLOUDFRONT_006CloudFront distribution should have access logging enabledMEDIUM
AWS_CLOUDFRONT_007CloudFront Field Level Encryption profile is configured but not assigned to cache behaviorMEDIUM

CODEBUILD

AWS_CODEBUILD_001CodeBuild project should not run builds in privileged modeHIGH
AWS_CODEBUILD_002CodeBuild project environment variables should not contain plaintext secretsHIGH
AWS_CODEBUILD_004CodeBuild project build artifact encryption should be enabledMEDIUM

COGNITO

AWS_COGNITO_001Cognito user pool should have advanced security mode set to ENFORCEDHIGH
AWS_COGNITO_002Cognito user pool should enable MFAMEDIUM

CT

AWS_CT_001CloudTrail trail should be multi-regionHIGH
AWS_CT_002CloudTrail trail should have log file validation enabledMEDIUM
AWS_CT_003CloudTrail trail should integrate with CloudWatch LogsMEDIUM
AWS_CT_005CloudTrail trail should encrypt logs with a KMS key (SSE-KMS)MEDIUM
AWS_CT_006CloudTrail trail should have logging enabledHIGH

DAX

AWS_DAX_001DynamoDB Accelerator (DAX) cluster should have encryption at rest enabledHIGH

DDB

AWS_DDB_001DynamoDB table should have Point-in-Time Recovery (PITR) enabledMEDIUM
AWS_DDB_002DynamoDB table should use a customer-managed KMS key for encryptionLOW
AWS_DDB_003DynamoDB table should have deletion protection enabledMEDIUM

DMS

AWS_DMS_001DMS replication instance should not be publicly accessibleCRITICAL

DOCDB

AWS_DOCDB_001DocumentDB cluster should have storage encryption enabledHIGH
AWS_DOCDB_002DocumentDB cluster should export audit logs to CloudWatchMEDIUM
AWS_DOCDB_003DocumentDB global cluster does not encrypt storageHIGH

EBS

AWS_EBS_001Account-level default EBS encryption should not be disabledHIGH

EC2

AWS_EC2_001EC2 instance should require IMDSv2 (token-based metadata access)HIGH
AWS_EC2_002EC2 instance should have EBS root volume encryption enabledHIGH
AWS_EC2_003Security group should not allow 0.0.0.0/0 ingress on SSH (port 22) or RDP (port 3389)CRITICAL
AWS_EC2_004EC2 instance uses a GPU or compute-intensive type without a shutdown scheduleMEDIUM
AWS_EC2_005EC2 instance uses an oversized compute type (24xlarge or 32xlarge)LOW
AWS_EC2_006EC2 instance has no metadata options block — IMDSv2 not configuredHIGH
AWS_EC2_008EBS volume should have encryption enabledHIGH
AWS_EC2_009EC2 instance has detailed monitoring explicitly disabledHIGH
AWS_EC2_010Network ACL should not allow 0.0.0.0/0 ingress on SSH (22) or RDP (3389)HIGH
AWS_EC2_011IMDS hop limit above 1 exposes the instance role to containers on the hostMEDIUM
AWS_EC2_013EC2 root volume is unencrypted because EBS encryption by default is turned offMEDIUM

ECR

AWS_ECR_001ECR repository should have scan-on-push enabledMEDIUM
AWS_ECR_002ECR repository should have image tag immutability enabledMEDIUM
AWS_ECR_003ECR repository should use KMS encryption rather than AES256LOW
AWS_ECR_004ECR repository should have a lifecycle policy to expire old imagesLOW

ECS

AWS_ECS_001ECS task definition should not run containers in privileged modeHIGH
AWS_ECS_002ECS task definition container should use a read-only root filesystemMEDIUM
AWS_ECS_003ECS cluster should have Container Insights enabledLOW
AWS_ECS_004ECS task definition should specify a task role for fine-grained IAM accessMEDIUM
AWS_ECS_005ECS task definition should configure log driver for audit containersMEDIUM
AWS_ECS_006ECS Exec (SSM-based shell access) should log to CloudWatch or S3MEDIUM
AWS_ECS_008ECS task definition EFS volume has transit encryption disabledHIGH

EFS

AWS_EFS_001EFS file system should have encryption at rest enabledHIGH
AWS_EFS_002EFS file system should have a backup policy enabledMEDIUM
AWS_EFS_003EFS file system should use a customer-managed KMS keyLOW

EKS

AWS_EKS_001EKS cluster Secrets should have envelope encryptionHIGH
AWS_EKS_002EKS cluster should have control-plane logging enabledMEDIUM
AWS_EKS_003EKS cluster API server endpoint should not be publicly accessibleHIGH
AWS_EKS_004EKS cluster should use a supported Kubernetes versionHIGH
AWS_EKS_005EKS node group with SSH access should restrict source security groupsMEDIUM
AWS_EKS_006EKS cluster with a public endpoint should limit which addresses can reach itHIGH

ELASTICACHE

AWS_ELASTICACHE_001ElastiCache replication group should have at-rest encryption enabledHIGH
AWS_ELASTICACHE_002ElastiCache replication group should have in-transit encryption enabledHIGH
AWS_ELASTICACHE_003ElastiCache replication group should require AUTH or RBACHIGH
AWS_ELASTICACHE_004ElastiCache replication group should have automatic failover enabledMEDIUM
AWS_ELASTICACHE_005ElastiCache cluster (standalone) should be upgraded to a replication groupMEDIUM
AWS_ELASTICACHE_007ElastiCache Redis cluster should retain at least one automatic snapshotMEDIUM
AWS_ELASTICACHE_008First AUTH token update should remove passwordless accessHIGH

ELB

AWS_ELB_001Load balancer should have access logging enabledMEDIUM
AWS_ELB_002Classic ELB listener should not use HTTP — require HTTPSHIGH
AWS_ELB_003ALB should drop invalid HTTP headersLOW
AWS_ELB_004ALB should have deletion protection enabledLOW
AWS_ELB_005ALB HTTP listener should redirect to HTTPSMEDIUM

EMR

AWS_EMR_001EMR Serverless application should have auto-stop configuredMEDIUM
AWS_EMR_002EMR Serverless application should have maximum capacity limits setMEDIUM
AWS_EMR_003EMR cluster should use Spot instances for task nodes to reduce costLOW

EVENTBRIDGE

AWS_EVENTBRIDGE_001EventBridge Lambda targets should have invocation authorizationMEDIUM
AWS_EVENTBRIDGE_002Custom EventBridge bus should use a KMS key for encryptionLOW

FIREHOSE

AWS_FIREHOSE_001Kinesis Firehose delivery stream should have server-side encryption enabledMEDIUM
AWS_FIREHOSE_002Kinesis Firehose delivery stream should have CloudWatch error logging enabledLOW

FSX

AWS_FSX_001FSx file system should use a customer-managed KMS key for encryptionMEDIUM

GA

AWS_GA_001Global Accelerator should enable flow logsMEDIUM

GDY

AWS_GDY_001GuardDuty detector should be enabledHIGH
AWS_GDY_002GuardDuty S3 protection should be enabledMEDIUM
AWS_GDY_003GuardDuty EKS protection should be enabledMEDIUM

GLUE

AWS_GLUE_002Glue catalog database table with JSON classifier should use SSE-KMSMEDIUM
AWS_GLUE_003Legacy Glue job should have continuous CloudWatch logging enabledLOW
AWS_GLUE_004Glue connection password should not be a plaintext literalHIGH
AWS_GLUE_005Glue Data Catalog and connection-password responses should be protectedHIGH
AWS_GLUE_006Glue security configuration should encrypt S3 data at restHIGH

IAM

AWS_IAM_001IAM password policy should require uppercase, lowercase, number, and symbolHIGH
AWS_IAM_002IAM password policy maximum age should be positive and no more than 90 daysMEDIUM
AWS_IAM_003IAM users should not have inline policies attachedMEDIUM
AWS_IAM_005IAM role trust policy should restrict principal to known sourcesCRITICAL
AWS_IAM_008GitHub OIDC federated role allows assumption from any GitHub repositoryCRITICAL
AWS_IAM_009GitHub OIDC federated role allows assumption from any repository in an orgHIGH
AWS_IAM_010EKS IRSA role trust allows any service account (overly broad subject claim)HIGH
AWS_IAM_011GitHub OIDC role leaves the branch or environment open with a wildcardMEDIUM
AWS_IAM_012IAM password policy should prevent password reuseMEDIUM

KINESIS

AWS_KINESIS_001Kinesis Data Stream should use KMS server-side encryptionMEDIUM

KMS

AWS_KMS_001KMS key should have automatic rotation enabledMEDIUM
AWS_KMS_003KMS multi-region key should restrict replica regions via key policyMEDIUM

LAKEFORMATION

AWS_LAKEFORMATION_001Lake Formation grant should not use wildcard principalHIGH

LAMBDA

AWS_LAMBDA_001Lambda function should not use an end-of-life runtimeHIGH
AWS_LAMBDA_003Lambda function should have X-Ray tracing enabledLOW
AWS_LAMBDA_004Lambda function should have a dead-letter queue configuredMEDIUM
AWS_LAMBDA_005Lambda function should have code signing enabledLOW
AWS_LAMBDA_006Lambda function URL should require authenticationCRITICAL
AWS_LAMBDA_007Lambda function should have an explicitly declared CloudWatch log groupMEDIUM

LOGS

AWS_LOGS_001CloudWatch log group should have a retention period configuredMEDIUM

MEDIACONVERT

AWS_MEDIACONVERT_001MediaConvert queue in production use should be RESERVED, not ON_DEMANDLOW

MQ

AWS_MQ_001Amazon MQ broker should not be publicly accessibleHIGH
AWS_MQ_002Amazon MQ for ActiveMQ broker should enable audit logging to CloudWatchMEDIUM

MSK

AWS_MSK_001MSK cluster should not allow unauthenticated client accessHIGH
AWS_MSK_002MSK cluster should enforce TLS encryption for client-to-broker connectionsHIGH
AWS_MSK_003MSK cluster should not have public access enabledHIGH
AWS_MSK_004MSK cluster should deliver broker logs to CloudWatch, S3, or FirehoseMEDIUM

NEPTUNE

AWS_NEPTUNE_001Neptune cluster should have storage encryption enabledHIGH
AWS_NEPTUNE_002Neptune cluster should have audit logging enabledMEDIUM
AWS_NEPTUNE_003Neptune cluster should have IAM database authentication enabledMEDIUM
AWS_NEPTUNE_004Neptune cluster instance should not be publicly accessibleCRITICAL

OPENSEARCH

AWS_OPENSEARCH_001OpenSearch domain should have encryption at rest enabledHIGH
AWS_OPENSEARCH_002OpenSearch domain should enforce HTTPS with a modern TLS policyHIGH
AWS_OPENSEARCH_003OpenSearch domain should have node-to-node encryption enabledMEDIUM
AWS_OPENSEARCH_004OpenSearch domain should have fine-grained access control enabledMEDIUM
AWS_OPENSEARCH_005OpenSearch domain should have audit logging enabledMEDIUM

OPS

AWS_OPS_001Long-running Lambda has no DLQ and no reserved concurrencyMEDIUM
AWS_OPS_002Lambda integration timeout shape (timeout config sanity)LOW
AWS_OPS_003Long-running Lambda with low memory — likely workload misfitLOW
AWS_OPS_004RDS instance with no Multi-AZ, no deletion protection and no final snapshotHIGH
AWS_OPS_005ALB target group deregistration delay exceeds connection draining budgetLOW
AWS_OPS_006SQS visibility timeout under 60 seconds (including creation default)MEDIUM
AWS_OPS_007ECS task definition with a container not marked essentialHIGH
AWS_OPS_008Auto Scaling Group with the same minimum and maximum size (no elasticity)LOW
AWS_OPS_009RDS changes applied immediately instead of in the maintenance windowMEDIUM
AWS_OPS_010Lambda Function URL without direct-origin IAM authenticationHIGH
AWS_OPS_011CloudWatch alarm uses Average statistic for a latency-shaped metricMEDIUM
AWS_OPS_012CloudWatch alarm on a critical metric treats missing data as missingMEDIUM
AWS_OPS_014Lambda function has no CloudWatch alarm on Errors metricLOW
AWS_OPS_015Lambda function has no CloudWatch alarm on Throttles metricLOW
AWS_OPS_016ALB has no CloudWatch alarm on UnHealthyHostCountLOW
AWS_OPS_017RDS instance has no declared CloudWatch alarm on CPUUtilizationLOW
AWS_OPS_018SQS queue has no alarm on ApproximateAgeOfOldestMessageLOW
AWS_OPS_022Lambda exists but no CloudWatch dashboard declared in the same planLOW
AWS_OPS_023RDS engine version pinned to the major version only, with automatic minor upgrades onMEDIUM
AWS_OPS_024ElastiCache cluster has multiple nodes but automatic failover is turned offHIGH
AWS_OPS_025Internet-facing load balancer lacks proven health-aware DNS routingMEDIUM
AWS_OPS_026Load balancer has deletion protection turned offMEDIUM
AWS_OPS_027Lambda async invocation with no reserved concurrency (retry-storm risk)MEDIUM
AWS_OPS_028EKS cluster declares a single node groupLOW
AWS_OPS_029ECS service runs a single task (no redundancy)MEDIUM
AWS_OPS_030DynamoDB table has point-in-time recovery turned offHIGH
AWS_OPS_032OpenSearch / Elasticsearch domain runs on a single instanceHIGH
AWS_OPS_033RDS instance has storage autoscaling turned offLOW
AWS_OPS_034Aurora cluster keeps backups for one day or lessMEDIUM
AWS_OPS_035IAM role or user is missing a permissions boundaryMEDIUM
AWS_OPS_036IAM user, role, or group has a full-privilege AWS-managed policy attached (AdministratorAccess or IAMFullAccess)CRITICAL
AWS_OPS_037IAM user credentials: prefer federation for people and roles for workloadsMEDIUM
AWS_OPS_038Declared IAM access key should have a documented rotation planMEDIUM
AWS_OPS_043IAM password policy has no minimum length of its own (the API default of 6 applies)MEDIUM
AWS_OPS_044IAM inline policy attached to a role — should use managed policyLOW
AWS_OPS_045Elastic IP declared without instance / NAT / NLB associationLOW
AWS_OPS_046CloudWatch log group retained for more than a year (audit-tier retention)LOW
AWS_OPS_047Kinesis stream has more than one provisioned shardLOW
AWS_OPS_048NAT gateway incurs hourly and processing chargesLOW
AWS_OPS_049Load balancer has no target-group declaration in scanned inputLOW
AWS_OPS_050CloudFront distribution has compression turned offLOW
AWS_OPS_051RDS gp3 with iops at or below the included 3,000 baseline (provisions nothing)LOW
AWS_OPS_052Launch template keeps an EBS volume after instance terminationLOW
AWS_OPS_053S3 bucket uses SSE-KMS without an S3 Bucket KeyLOW
AWS_OPS_054Review NAT gateway cost for the declared environmentLOW
AWS_OPS_056Lambda function is configured with 10,240 MB or more of memoryMEDIUM
AWS_OPS_057ECS task definition allocates 4+ vCPU — review utilizationLOW
AWS_OPS_058S3 CORS configuration warrants a CloudFront delivery reviewLOW
AWS_OPS_059SQS queue has a delivery delayLOW
AWS_OPS_060Step Functions Express state machine (5-minute limit)MEDIUM
AWS_OPS_061Lambda VPC placement should match its private-resource requirementsLOW
AWS_OPS_062Sharded ElastiCache replication group needs a cluster mode reviewMEDIUM
AWS_OPS_063Lambda function uses a mounted file system (Amazon EFS or Amazon S3 Files)LOW
AWS_OPS_064Aurora Serverless v1 cluster (end of life)MEDIUM
AWS_OPS_066EventBridge rule with rate(1 minute) schedule (high-cost cron)LOW
AWS_OPS_067Stateful resource has no prevent-destroy guardMEDIUM
AWS_OPS_068Provider version constraint allows any minor release (major version only)LOW
AWS_OPS_070Hardcoded AWS account ID in resource argumentLOW
AWS_OPS_071Hardcoded AWS region in resource argumentLOW
AWS_OPS_072AWS provider block sets no default tagsLOW
AWS_OPS_073Terraform backend is local (state file on developer's laptop)HIGH
AWS_OPS_074Terraform S3 backend without encryption or a state lockMEDIUM
AWS_OPS_075Variable declared without type or validationLOW
AWS_OPS_076Resource module sourced from raw GitHub URL (no version pin)MEDIUM
AWS_OPS_077Secrets Manager access should use a VPC endpoint, not public internetMEDIUM
AWS_OPS_078KMS access should use a VPC endpoint, not public internetMEDIUM
AWS_OPS_079ECR access should use VPC endpoints to avoid public internet pullMEDIUM
AWS_OPS_080KMS multi-region key should have replicas in DR regionsLOW
AWS_OPS_084AWS Backup vault should use a CMK for encryptionMEDIUM
AWS_OPS_085AWS Backup plan should include cross-region copy for DRLOW
AWS_OPS_086AWS Inspector v2 should be enabled for EC2 and ECR vulnerability scanningMEDIUM
AWS_OPS_090MemoryDB cluster used as primary data storeLOW
AWS_OPS_091Lambda timeout of 10 minutes or more (batch-shaped workload likely belongs elsewhere)LOW
AWS_OPS_092DynamoDB table with high provisioned read capacity (suggests aggregation queries)LOW

ORGANIZATIONS

AWS_ORGANIZATIONS_001AWS Organization should have all features enabled (not CONSOLIDATED_BILLING_ONLY)HIGH
AWS_ORGANIZATIONS_002AWS Organizations SCP should declare a root-user denialHIGH

RDS

AWS_RDS_001RDS instance storage should be encrypted at restCRITICAL
AWS_RDS_002RDS resource should not be publicly accessibleCRITICAL
AWS_RDS_003RDS instance should have automated backups enabledHIGH
AWS_RDS_004RDS production instance should have Multi-AZ enabledMEDIUM
AWS_RDS_005RDS deletion protection should be enabledHIGH
AWS_RDS_006RDS Performance Insights uses AWS-managed key (not CMK)LOW
AWS_RDS_007Aurora cluster has no explicit customer-managed key choiceMEDIUM
AWS_RDS_008RDS DB cluster has deletion protection disabledHIGH
AWS_RDS_009RDS DB cluster backup retention period is 0, outside the 1-35 day rangeLOW
AWS_RDS_010Aurora cluster does not enable IAM database authenticationMEDIUM
AWS_RDS_011Aurora cluster has fewer than two instances — no Multi-AZ failover targetMEDIUM
AWS_RDS_013RDS Enhanced Monitoring is disabled or the monitoring role is invalidMEDIUM
AWS_RDS_015Aurora global cluster has no demonstrated customer-managed key choiceMEDIUM
AWS_RDS_016RDS automatic minor version upgrades are disabledMEDIUM
AWS_RDS_017RDS backup retention period is shorter than 7 daysMEDIUM
AWS_RDS_018RDS PostgreSQL should enforce TLS connectionsHIGH
AWS_RDS_019RDS MySQL should enforce TLS connectionsHIGH
AWS_RDS_020Aurora PostgreSQL cluster should enforce TLS connectionsHIGH
AWS_RDS_021Aurora MySQL cluster should enforce TLS connectionsHIGH

REDSHIFT

AWS_REDSHIFT_001Redshift cluster should not be publicly accessibleCRITICAL
AWS_REDSHIFT_002Redshift cluster should enforce SSL connectionsHIGH
AWS_REDSHIFT_003Redshift cluster should have encryption at rest enabledHIGH
AWS_REDSHIFT_004Redshift cluster should have user activity logging enabledMEDIUM

ROLESANYWHERE

AWS_ROLESANYWHERE_001Roles Anywhere trust policy lacks trust-anchor scoping (aws:SourceArn / aws:SourceAccount / sts:SourceIdentity)HIGH

ROUTE53

AWS_ROUTE53_001Route53 hosted zone should have DNSSEC signing enabledMEDIUM
AWS_ROUTE53_002Route53 health check should use HTTPS with SNI for HTTPS endpointsLOW
AWS_ROUTE53_003Route53 failover record with PRIMARY role should have a health checkMEDIUM
AWS_ROUTE53_004Route53 public hosted zone should log DNS queriesMEDIUM

S3

AWS_S3_001S3 bucket should have Block Public Access enabledCRITICAL
AWS_S3_003S3 bucket should have versioning enabledHIGH
AWS_S3_004S3 bucket should have access logging enabledMEDIUM
AWS_S3_005S3 bucket policy should deny non-TLS (HTTP) accessHIGH
AWS_S3_006S3 bucket ACL is set to public-read or public-read-writeCRITICAL
AWS_S3_007S3 bucket uses a legacy public ACL (inline acl attribute)CRITICAL
AWS_S3_010S3 bucket has no Block Public Access companion resourceHIGH
AWS_S3_011S3 audit/compliance bucket has no object-lock configurationMEDIUM
AWS_S3_012Versioned S3 bucket should enable MFA deleteLOW
AWS_S3_013S3 bucket ACL should not grant WRITE_ACP to a predefined groupHIGH
AWS_S3_014S3 bucket should not grant read to any authenticated AWS userHIGH
AWS_S3_015S3 access point disables a Block Public Access settingHIGH
AWS_S3_016S3 bucket has no versioning configuredLOW
AWS_S3_017S3 bucket has no server access loggingMEDIUM

SAGEMAKER

AWS_SAGEMAKER_001SageMaker domain should be in a VPC with security groups configuredMEDIUM
AWS_SAGEMAKER_002SageMaker notebook instance should not allow direct internet accessHIGH
AWS_SAGEMAKER_003SageMaker notebook instance should not enable root accessMEDIUM
AWS_SAGEMAKER_004SageMaker endpoint configuration should specify a KMS key for its storage volumeMEDIUM

SFN

AWS_SFN_001Step Functions state machine should have logging enabledMEDIUM
AWS_SFN_002Step Functions state machine should have X-Ray tracing enabledLOW

SM

AWS_SM_001Secrets Manager secret should have automatic rotation configuredMEDIUM

SNS

AWS_SNS_001SNS topic should use a customer-managed KMS key for encryptionMEDIUM
AWS_SNS_002SNS topic access policy should enforce TLS-only accessMEDIUM

SQS

AWS_SQS_001SQS queue without inline redrive should specify a KMS encryption keyMEDIUM
AWS_SQS_002SQS queue should have a dead-letter queue configuredMEDIUM
AWS_SQS_003SQS queue has server-side encryption explicitly disabledMEDIUM

SSM

AWS_SSM_001SSM Parameter with secret-like name should use SecureString typeHIGH
AWS_SSM_002SSM Parameter should not store credential value as plaintext in TerraformHIGH
AWS_SSM_004SSM document is shared publicly with every AWS accountHIGH

SSO

AWS_SSO_001SSO permission set inline policy should not grant full administrative privilegesHIGH

VPC

AWS_VPC_001VPC has no associated flow logsMEDIUM
AWS_VPC_002VPC peering connection has no route table entry on requester sideMEDIUM
AWS_VPC_003Default security group permits any rule (should be no-rules)MEDIUM
AWS_VPC_004Security group permits 0.0.0.0/0 on a known debug or management portHIGH
AWS_VPC_005VPC subnet automatically assigns public IPs on launchMEDIUM
AWS_VPC_006Security group allows unrestricted ingress on all ports from the internetCRITICAL
AWS_VPC_007Modern security-group ingress rule opens a management port to 0.0.0.0/0HIGH
AWS_VPC_008Security-group ingress CIDRs are slices of the 0.0.0.0/0 supernetHIGH
AWS_VPC_009Modern security-group ingress rule opens a management port to ::/0HIGH
AWS_VPC_010Security group inline ingress opens a management port to ::/0HIGH
AWS_VPC_011Security-group ingress CIDRs resolve to the entire address spaceHIGH
AWS_VPC_012Route to a VPC peering connection should not use an unrestricted CIDRMEDIUM
AWS_VPC_013Modern security-group ingress rule opens every port to 0.0.0.0/0CRITICAL
AWS_VPC_014Modern security-group ingress rule opens every port to ::/0HIGH
AWS_VPC_015Network ACL allows all traffic inbound from the internetHIGH
AWS_VPC_016Standalone network ACL rule allows all traffic inbound from the internetHIGH
AWS_VPC_017Security group allows unrestricted ingress on all ports from the IPv6 internetCRITICAL
AWS_VPC_018Security group opens the complete TCP or UDP port range to the internetCRITICAL
AWS_VPC_019Security group opens the complete TCP or UDP port range to the IPv6 internetCRITICAL
AWS_VPC_020Security group opens SQL Server Browser (UDP 1434) to the internetHIGH
AWS_VPC_021Security group opens SQL Server Browser (UDP 1434) to the IPv6 internetHIGH

WAF

AWS_WAF_001WAFv2 web ACL default action is ALLOW with no rules configuredHIGH
AWS_WAF_002WAFv2 web ACL rate limit rule threshold is too permissiveMEDIUM
AWS_WAF_003WAFv2 web ACL should include AWSManagedRulesCommonRuleSetMEDIUM
AWS_WAF_004WAFv2 web ACL should have logging enabledMEDIUM
AWS_WAF_005WAFv2 web ACL rule should have CloudWatch metrics enabledLOW

WORKSPACES

AWS_WORKSPACES_001WorkSpace should encrypt both its root and user volumesHIGH

Engine-generated findings

These come from the engine's cross-resource analysis rather than the catalog, so their ids are families, not single checks.

ATTACK_PATH_* — Attack paths
Chains that cross resources: an internet-reachable entry point, an identity it can use, and the IAM permissions that lead from there to account-wide control.
AWS_XREF_* — Cross-resource correlations
Issues that are only visible when you look at how several resources interact, not at any one resource on its own.
AWS_FUSION_* — Cost and security together
Findings that need a cost signal and a security signal on different resources in the same code, such as accelerator compute next to an administrator-equivalent IAM policy.
AWS_CRED_* — Credentials written into code
Literal credentials of recognisable shapes (AWS access key ids, private keys, provider tokens) in resource attributes, variable defaults and variable files.
AWS_CFN_* — CloudFormation only
Findings with no Terraform twin, such as a NoEcho parameter whose value flows into Outputs, or a nested stack pulled from an unpinned template URL.