🚀 Production-Ready Solution
After numerous iterations and embarrassing bugs, the final implementation emerged much more robust:
def audit_security_groups():
if not aws_credentials_valid():
raise ValueError("AWS credentials not configured")
Path("reports").mkdir(exist_ok=True)
vulnerable = find_insecure_groups()
save_as_csv(vulnerable)
Key Improvements:
- Pre-flight credential checks
- Auto directory creation
- Proper error handling
The Final Result
The tool now successfully scans security groups across all regions, identifies vulnerabilities, and generates comprehensive reports. It's been used to audit over 500 security groups across 12 AWS accounts.
500+
Security Groups Audited
12
AWS Accounts
47
Vulnerabilities Found