AWS Scanners
Cloudsploit includes 100+ AWS security detectors covering IAM, compute, storage, networking, databases, and monitoring. Each detector checks for specific misconfigurations against AWS best practices and CIS benchmarks.
Scanning AWS Account
Start a full AWS scan with all detectors enabled:
1cloudsploit scan aws
To list all AWS-specific detectors:
1cloudsploit detectors --provider aws --list
Identity & Access
IAM Password Policy
IAM_PASSWORD_POLICYChecks if IAM password policy meets complexity requirements
IAM No Root Access Key
IAM_NO_ROOT_ACCESS_KEYEnsures root account has no active access keys
IAM Users With Password
IAM_USERS_WITH_PASSWORDFinds IAM users that have console passwords (should use MFA)
IAM MFA Enabled
IAM_MFA_ENABLEDVerifies MFA is enabled for all IAM users with passwords
IAM UserwithAccessKeysOlderThan90Days
IAM_USER_ACCESS_KEYS_OLDER_THAN_90_DAYSAccess keys should be rotated regularly
IAM Assume Role Policy Allows External Principals
IAM_ASSUME_ROLE_POLICY_ALLOWS_EXTERNAL_PRINCIPALSChecks for overly permissive trust relationships
Storage
S3 Bucket Public Read
S3_BUCKET_PUBLIC_READS3 bucket allows public read access via ACL or policy
S3 Bucket Public Write
S3_BUCKET_PUBLIC_WRITES3 bucket allows public write/delete access
S3 Bucket Versioning Disabled
S3_BUCKET_VERSIONING_DISABLEDVersioning not enabled (data recovery risk)
S3 Bucket Encryption Disabled
S3_BUCKET_ENCRYPTION_DISABLEDServer-side encryption not enabled for data at rest
S3 Bucket Logging Disabled
S3_BUCKET_LOGGING_DISABLEDAccess logging not configured for audit trail
S3 Bucket Lifecycle Policy Missing
S3_BUCKET_LIFECYCLE_POLICY_MISSINGNo lifecycle rules for cost optimization
EBS Volume Unencrypted
EBS_VOLUME_UNENCRYPTEDEBS volume lacks encryption at rest
EFS File System Unencrypted
EFS_FILE_SYSTEM_UNENCRYPTEDEFS file system not encrypted
Compute
EC2 Instance No Public IP
EC2_INSTANCE_NO_PUBLIC_IPInstance has public IP address (attack surface)
EC2 Instance Detailed Monitoring Disabled
EC2_INSTANCE_DETAILED_MONITORING_DISABLEDCloudWatch detailed monitoring not enabled
EC2 Instance Termination Protection Disabled
EC2_INSTANCE_TERMINATION_PROTECTION_DISABLEDAccidental deletion protection not enabled
EC2 Security Group Open to World
EC2_SECURITY_GROUP_OPEN_TO_WORLDSecurity group allows 0.0.0.0/0 on sensitive ports
EC2 Security Group Unrestricted SSH
EC2_SECURITY_GROUP_UNRESTRICTED_SSHPort 22 open to world (should use bastion)
EC2 Security Group Unrestricted RDP
EC2_SECURITY_GROUP_UNRESTRICTED_RDPPort 3389 open to world
Lambda Function Public Access
LAMBDA_FUNCTION_PUBLIC_ACCESSLambda function policy allows public invoke
Lambda Function Environment Variables Encrypted
LAMBDA_FUNCTION_ENV_VARIABLES_ENCRYPTEDSensitive env vars not encrypted with KMS
Database
RDS Instance Publicly Accessible
RDS_INSTANCE_PUBLICLY_ACCESSIBLERDS database accessible from internet
RDS Instance Storage Encrypted
RDS_INSTANCE_STORAGE_ENCRYPTEDRDS storage encryption not enabled
RDS Instance Backup Retention
RDS_INSTANCE_BACKUP_RETENTIONAutomated backups not enabled or retention <7 days
RDS Instance Deletion Protection Disabled
RDS_INSTANCE_DELETION_PROTECTION_DISABLEDAccidental database deletion protection off
ElastiCache Cluster No Public IP
ELASTICACHE_CLUSTER_NO_PUBLIC_IPRedis/Memcached has public endpoint
DynamoDB Point-in-Time Recovery Disabled
DYNAMODB_PITR_DISABLEDNo point-in-time recovery for accidental deletes
Networking
VPC Flow Logs Disabled
VPC_FLOW_LOGS_DISABLEDVPC Flow Logs not enabled for network monitoring
VPC Default Security Group Contains Inbound Rules
VPC_DEFAULT_SECURITY_GROUP_INBOUND_RULESDefault VPC security group allows inbound traffic
VPC Peering Allows External Traffic
VPC_PEERING_ALLOWS_EXTERNAL_TRAFFICVPC peering connection accepts traffic from external CIDR
NAT Gateway Check
NAT_GATEWAY_CHECKChecks NAT Gateway configuration and redundancy
Internet Gateway Attached
INTERNET_GATEWAY_ATTACHEDChecks for unexpected internet-facing resources
Monitoring & Logging
CloudTrail Enabled
CLOUDTRAIL_ENABLEDCloudTrail not enabled for audit logging
CloudTrail Log Validation Enabled
CLOUDTRAIL_LOG_VALIDATION_ENABLEDCloudTrail log file validation disabled
CloudTrail Encrypted
CLOUDTRAIL_ENCRYPTEDCloudTrail logs not encrypted at rest
CloudTrail Multi Region Enabled
CLOUDTRAIL_MULTI_REGION_ENABLEDCloudTrail not enabled in all regions
CloudWatch Log Retention Set
CLOUDWATCH_LOG_RETENTION_SETCloudWatch log groups have no retention policy
Config Service Enabled
CONFIG_SERVICE_ENABLEDAWS Config not enabled for resource tracking
Security & Encryption
KMS Key Rotation Enabled
KMS_KEY_ROTATION_ENABLEDKMS key automatic rotation not enabled
KMS Key Policy Allows Public Access
KMS_KEY_POLICY_ALLOWS_PUBLIC_ACCESSKMS key policy grants access to wildcard principal
ACM Certificate Expiration
ACM_CERT_EXPIRATIONSSL/TLS certificate expires within 30 days
ACM Certificate Missing Domains
ACM_CERT_MISSING_DOMAINSCertificate does not cover all domain variations
Secrets Manager Rotation Disabled
SECRETSMANAGER_ROTATION_DISABLEDSecret rotation not configured for sensitive credentials
WAF WebACL Missing
WAF_WEBACL_MISSINGWebACL not associated with CloudFront/ALB
Suppressing False Positives
Some detectors may trigger on intentional configurations. Suppress specific detector IDs:
1# Suppress multiple detectors2cloudsploit scan aws --suppress S3_BUCKET_PUBLIC_READ,EC2_SECURITY_GROUP_OPEN_TO_WORLD34# Use a suppression file (one ID per line)5cloudsploit scan aws --suppress-file ~/cloudsploit/suppressions.txt67# Ignore specific resources by ARN8cloudsploit scan aws --exempt-resources "arn:aws:s3:::public-bucket*,arn:aws:ec2:us-east-1:123456789012:security-group/sg-*"