A simplified version of an alert enrichment system inspired by Expel's approach to AWS security monitoring. This tool helps security analysts quickly investigate AWS CloudTrail alerts by automatically providing context and enrichment data.
Security analysts often need to investigate AWS alerts by manually digging through CloudTrail logs to understand:
- Who assumed what roles?
- What services did they access?
- Were there any suspicious API calls?
- Is this normal behavior for this user?
This tool automates that process by:
- Processing CloudTrail logs to extract meaningful patterns
- Automatically enriching alerts with relevant context
- Presenting the data in an intuitive dashboard
- Automatically tracks IAM role assumptions
- Detects federated access (AWS SSO/SAML)
- Identifies failed role assumption attempts
- Shows role assumption chains
- Visualizes which AWS services were accessed
- Shows interaction frequency over time
- Highlights unusual service access patterns
- Identifies non-read operations (Create*, Delete*, Modify*)
- Tracks failed API calls
- Highlights potential privilege escalation
- Compares against historical patterns
- Alert list with severity indicators
- Detailed enrichment views
- Service usage visualization
- Timeline of suspicious activities
- Event processing and enrichment logic
- CloudTrail log analysis
- REST API for frontend
- Mock data generation for testing
- Interactive dashboard
- Data visualization using recharts
- Component library from shadcn/ui
- Responsive design
- Setup the python virtual environment
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- Generate test data:
python cloudtrail_data_generator.py- Start the backend:
pip install -r requirements
python enrichment_backend.py- Run the frontend:
npm install
npm run devgraph TD
A[CloudTrail Logs] --> B[Enrichment Service]
B --> C[Alert Store]
B --> D[Role Analysis]
B --> E[Service Analysis]
B --> F[Suspicious Activity Detection]
C --> G[REST API]
D --> G
E --> G
F --> G
G --> H[React Frontend]
-
Modular Enrichments
- Each enrichment type is independent
- Easy to add new enrichment types
- Configurable processing rules
-
Alert-Centric Design
- Alerts are first-class citizens
- Each alert maintains its context
- Enrichments linked to specific alerts
- Implementing real CloudTrail integration
- Moving to an event-driven architecture
- Adding proper security controls
- Implementing proper testing
-
Enhanced Detection
- Machine learning for anomaly detection
- More sophisticated pattern matching
- Custom rule engine
-
Additional Enrichments
- Resource access patterns
- Network activity analysis
- Cost impact assessment
-
Advanced Visualization
- Graph visualization for role chains
- Advanced filtering and search
- Custom dashboards
- Uses mock data generator for testing
- Includes sample suspicious patterns
- Easy to extend with new enrichment types
- Well-documented codebase
Feel free to submit issues and enhancement requests!
This project is licensed under the MIT License - see the LICENSE file for details.
Note: This is a simplified version built for demonstration. A production system would include additional features like authentication, robust error handling, and more sophisticated analysis capabilities.
