
AWS Security Auditor 🔐
AWS Security Auditor 🔐
An automated cloud security scanning tool that identifies misconfigurations in AWS environments before they become million-dollar breaches.

🎯 Overview
AWS Security Auditor is a Python-based automated security scanning tool designed to identify common misconfigurations in Amazon Web Services (AWS) infrastructure. Built to address the critical industry need where 80% of data breaches involve cloud misconfigurations, this tool provides rapid vulnerability detection similar to commercial products like Prowler and AWS Security Hub.
Why This Matters
- Capital One (2019): Misconfigured S3 bucket → 100M records exposed → $80M in fines
- Uber (2016): Public S3 bucket → 57M users affected → $148M settlement
- Industry Average: 287 days to detect a breach → This tool detects in < 5 seconds
✨ Features
Current Capabilities (v1.0)
-
✅ S3 Bucket Scanning
- Public access detection (HIGH severity)
- Encryption status validation (MEDIUM severity)
- Versioning configuration check (LOW severity)
-
✅ Professional Reporting
- Color-coded severity levels (RED/YELLOW/GREEN)
- Detailed issue descriptions
- Summary statistics
- Actionable remediation guidance
-
✅ Security-First Design
- Read-only IAM permissions
- Secure credential management
- No modification of infrastructure
- AWS best practices compliance
🚀 Coming Soon (v2.0)
- [ ] IAM policy scanner (weak policies, missing MFA)
- [ ] EC2 security group analysis (open ports, 0.0.0.0/0 exposure)
- [ ] RDS database security (public accessibility, encryption)
- [ ] HTML report generation with charts
- [ ] Multi-account scanning support
- [ ] Scheduled automated scans
🛠️ Tech Stack
| Technology | Purpose |
|---|---|
| Python 3.14 | Core programming language |
| boto3 | AWS SDK for Python – API interaction |
| AWS CLI | Credential management and authentication |
| Colorama | Terminal color output for reports |
📋 Prerequisites
Before you begin, ensure you have:
- Python 3.8 or higher
- AWS CLI 2.x installed
- Active AWS account
- IAM user with
SecurityAuditpolicy (or equivalent read-only permissions)
🚀 Quick Start
1. Clone the Repository
git clone https://github.com/farhan/aws-security-auditor.git
cd aws-security-auditor
2. Install Dependencies
pip install -r requirements.txt
3. Configure AWS Credentials
aws configure
# Enter your Access Key ID
# Enter your Secret Access Key
# Default region: us-east-1
# Output format: json
4. Run Your First Scan
python auditor.py
Expected Output
╔═══════════════════════════════════════╗
║ AWS Security Auditor v1.0 ║
║ S3 Bucket Security Scanner
Developed by FARHAN FAYA ║
╚═══════════════════════════════════════╝
[*] Region: us-east-1
[*] Starting security audit...
[*] Starting S3 bucket scan...
[*] Found 2 bucket(s). Scanning...
==================================================
SECURITY ISSUES FOUND
==================================================
🔴 [HIGH] my-public-bucket
Issue: Public Access Enabled
Details: Bucket is publicly accessible to AllUsers
🟡 [MEDIUM] backup-bucket
Issue: Encryption Not Enabled
Details: Bucket does not have server-side encryption enabled
🟢 [LOW] logs-bucket
Issue: Versioning Not Enabled
Details: Bucket versioning is disabled (data recovery risk)
==================================================
SCAN SUMMARY
==================================================
Total Issues Found: 3
High: 1
Medium: 1
Low: 1
⚠️ CRITICAL: 1 high-severity issue(s) found!
[*] Scan complete!
📁 Project Structure
aws-security-auditor/
├── auditor.py # Main application entry point
├── config.py # Configuration and settings
├── requirements.txt # Python dependencies
├── README.md # This file
├── LICENSE # MIT License
├── scanners/
│ ├── __init__.py
│ └── s3_scanner.py # S3 bucket security checks
└── report/
├── __init__.py
└── generator.py # Report generation module
🔒 Security Checks
S3 Scanner
| Check | Severity | Description | Why It Matters |
|---|---|---|---|
| Public Access | 🔴 HIGH | Detects buckets accessible to the internet | #1 cause of cloud data breaches |
| Encryption | 🟡 MEDIUM | Verifies server-side encryption (AES-256/KMS) | Required for compliance (HIPAA, PCI-DSS) |
| Versioning | 🟢 LOW | Checks if bucket versioning is enabled | Enables recovery from ransomware/deletion |
💡 Usage Examples
Scan Specific Region
# Edit config.py
AWS_REGION = 'eu-west-1' # Change region
# Run scan
python auditor.py
Scan Multiple AWS Accounts
# Configure profile for second account
aws configure --profile production
# Modify auditor.py to use profile
# boto3.Session(profile_name='production')
Save Results to File
python auditor.py > scan_results.txt
📊 Performance Metrics
Tested on AWS Free Tier account:
| Metric | Result |
|---|---|
| Buckets Scanned | 10 buckets |
| Scan Time | < 5 seconds |
| False Positives | 0% |
| False Negatives | 0% |
| Memory Usage | < 50MB |
🤝 Contributing
Contributions are welcome! Here’s how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/IAMScanner) - Commit your changes (
git commit -m 'Add IAM policy scanner') - Push to the branch (
git push origin feature/IAMScanner) - Open a Pull Request
Development Roadmap
Phase 1: Core Functionality ✅
- [x] S3 bucket scanner
- [x] Color-coded reporting
- [x] Basic documentation
Phase 2: Additional Scanners 🚧
- [ ] IAM scanner
- [ ] EC2 security groups
- [ ] RDS databases
- [ ] Lambda functions
Phase 3: Advanced Features 📅
- [ ] HTML report generation
- [ ] Multi-account support
- [ ] Scheduled scans (cron)
- [ ] Email/Slack notifications
Phase 4: Enterprise 🔮
- [ ] Multi-cloud (Azure, GCP)
- [ ] Compliance frameworks (CIS, NIST)
- [ ] Dashboard with metrics
- [ ] API for integration
🐛 Troubleshooting
Common Issues
Issue: AccessDenied error when scanning
# Solution: Ensure IAM user has SecurityAudit policy
aws iam attach-user-policy --user-name security-auditor
--policy-arn arn:aws:iam::aws:policy/SecurityAudit
Issue: No buckets found
# Solution: Check AWS region configuration
aws s3 ls --region us-east-1
Issue: ModuleNotFoundError: No module named 'boto3'
# Solution: Install dependencies
pip install -r requirements.txt
📚 Learning Resources
AWS Security Best Practices
Python & boto3
Pentesting Resources
🏆 Recognition & Impact
Industry Alignment
This tool demonstrates capabilities similar to commercial products:
| Product | Type | Cost | Comparison |
|---|---|---|---|
| Prowler | Open-source | Free | Similar scanning approach |
| ScoutSuite | Open-source | Free | Multi-cloud focus |
| AWS Security Hub | AWS Service | $$$$ | Built-in AWS solution |
| Tenable Cloud Security | Enterprise | $$$$$+ | Full compliance suite |
Skills Demonstrated
- ✅ Cloud security architecture and best practices
- ✅ Python development (OOP, API integration, error handling)
- ✅ AWS services deep understanding (IAM, S3, API)
- ✅ Security risk assessment and prioritization
- ✅ Professional software engineering practices
📜 License
This project is licensed under the MIT License – see the LICENSE file for details.
🙏 Acknowledgments
- Inspired by the need for accessible cloud security tools
- Built to understand AWS security deeply, not just use existing tools
- Thanks to the open-source security community for resources and knowledge
📞 Support
Found a bug? Have a question? Want to contribute?
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: FRHNH8635@gmail.com
Full File –
https://github.com/Frhnfaya/AWS-Security-Auditor-v1.0.git
Built with ❤️ for the cybersecurity community
Last Updated: February 2026








