Home
Softono
CloudVault

CloudVault

Open source MIT Python
11
Stars
2
Forks
0
Issues
0
Watchers
6 months
Last Commit

About CloudVault

CloudVault is an enterprise-grade multi-cloud storage security scanner that discovers exposed AWS S3, Google Cloud Storage, and Azure Blob containers. It uses certificate transparency log monitoring and domain enumeration to identify misconfigured public buckets across cloud providers. Key capabilities include real-time discovery via CT log streaming, multi-provider support for AWS, GCP, and Azure, automated permission checking, and a multi-factor risk scoring algorithm from 0 to 100. The tool maps findings to MITRE ATT&CK and identifies multi-hop privilege escalation attack chains. Advanced features include Slack, Discord, and email alerting with severity thresholds, Boolean and regex filtering, SQLite-based historical tracking with trend analysis, and Terraform/AWS CLI auto-remediation script generation. It builds trust graphs showing relationships between exposed assets and supports CIS Benchmarks and PCI-DSS compliance audits. CloudVault offers an interactive Textual-based TUI dashboard with ASCII tree vi

Platforms

Web Self-hosted Cloud

Languages

Python

Links

CloudVault - Multi-Cloud Storage Security Scanner

License: MIT Python 3.9+ GitHub Actions

Enterprise-grade cloud storage security scanner with advanced attack chain analysis, MITRE ATT&CK mapping, and comprehensive reporting

CloudVault discovers exposed AWS S3, Google Cloud Storage, and Azure Blob containers through certificate transparency monitoring and provides actionable security insights with tree-formatted visualizations.

πŸš€ Features

Core Capabilities

  • πŸ” Real-time Discovery - Certificate transparency log monitoring
  • ☁️ Multi-Provider - AWS S3, GCP Storage, Azure Blob
  • 🎯 Smart Detection - Automated permission checking
  • πŸ“Š Risk Scoring - Advanced multi-factor algorithm (0-100)
  • πŸ”— Attack Chains - Multi-hop privilege escalation paths
  • 🎨 Tree Visualizations - Beautiful ASCII output everywhere

Advanced Features (Beyond Heimdall)

  • πŸ”” Alerts - Slack, Discord, Email notifications
  • πŸ” Advanced Filtering - Boolean logic + regex queries
  • πŸ“ˆ Historical Tracking - SQLite database with trend sparklines
  • πŸ”§ Auto-Remediation - Terraform/AWS CLI script generation
  • 🌐 Trust Graphs - Relationship visualization
  • πŸ“‹ Compliance - CIS Benchmarks, PCI-DSS mapping
  • 🎨 Interactive TUI - Textual framework interface
  • πŸ“€ Multi-Format Export - SARIF, CSV, JSON, HTML, ASCII Tree

πŸ“¦ Installation

# Clone repository
git clone https://github.com/yourusername/CloudVault.git
cd CloudVault

# Install dependencies
pip install -e .

# Install optional dependencies
pip install aiosqlite websockets  # For history & real-time scanning

🎯 Quick Start

Basic Scan (Static Domain List)

# Create domain list
echo "example.com" > domains.txt
echo "company.com" >> domains.txt

# Scan
cloudvault scan --source domains.txt --output findings.json

Real-Time Monitoring (Certificate Transparency)

# Monitor CT logs
cloudvault scan --only-interesting --save-history

# With keywords filter
cloudvault scan --keywords-file keywords.txt

# With alerts
cloudvault scan \
  --notify slack \
  --slack-webhook https://hooks.slack.com/... \
  --alert-on critical,high

Dashboard & Analysis

# Security dashboard
cloudvault dashboard -i findings.json

# With filters
cloudvault dashboard -i findings.json \
  --filter "severity=CRITICAL,HIGH" \
  --only-public \
  --min-risk-score 75

# Attack chain analysis
cloudvault analyze -i findings.json -f tree

# Filter before analysis
cloudvault analyze -i findings.json \
  --filter "provider=aws" \
  --min-blast-radius 70

Export & Reporting

# SARIF for GitHub Security
cloudvault export -i findings.json -f sarif -o report.sarif

# HTML report
cloudvault export -i findings.json -f html -o report.html

# Tree visualization
cloudvault export -i findings.json -f tree -o report.txt

# CSV for spreadsheets
cloudvault export -i findings.json -f csv -o report.csv

Auto-Remediation

# Generate Terraform
cloudvault remediate -i findings.json -f terraform --dry-run

# Generate AWS CLI commands
cloudvault remediate -i findings.json -f awscli

Compliance Audit

# CIS Benchmarks
cloudvault compliance -i findings.json --framework CIS

# PCI-DSS
cloudvault compliance -i findings.json --framework PCI-DSS

History & Trends

# View scan history
cloudvault history list --limit 20

# Trend analysis with sparklines
cloudvault history trends --days 30

# Compare scans
cloudvault history compare --from-scan 1 --to-scan 5

πŸ“‹ Commands Reference

Command Description
scan Discover exposed buckets (CT logs or domain list)
dashboard Security overview with risk scoring
analyze Attack chain and privilege escalation analysis
export Multi-format export (SARIF/CSV/JSON/HTML/Tree)
remediate Generate auto-fix scripts (Terraform/AWS CLI)
compliance Framework mapping (CIS/PCI-DSS/HIPAA)
history Scan history, trends, and comparison
graph Trust relationship visualization
tui Interactive terminal UI
baseline Delta reporting and ignore patterns
test-alerts Test notification channels
init-config Create default configuration

πŸ”§ Advanced Usage

Filtering Syntax

# Equality
--filter "severity=CRITICAL"

# Multiple values (OR)
--filter "severity=CRITICAL,HIGH"

# Comparison operators
--filter "risk_score>=75"

# Regex
--filter "bucket_name~regex:.*-prod-.*"

# Boolean AND
--filter "severity=CRITICAL AND provider=aws"

# Exclude
--exclude "bucket_name~.*-test-.*"

# Combine filters
--filter "severity=CRITICAL,HIGH" \
--only-public \
--min-risk-score 80

Alert Configuration

# Slack
--notify slack \
--slack-webhook https://hooks.slack.com/... \
--alert-on critical,high

# Discord
--notify discord \
--discord-webhook https://discord.com/api/webhooks/...

# Email (SMTP)
--notify email \
--email-to [email protected] \
--smtp-host smtp.gmail.com \
--smtp-user [email protected] \
--smtp-password "..."

# Multiple channels
--notify slack discord email

CI/CD Integration

# .github/workflows/cloudvault.yml
- name: Run CloudVault
  run: |
    cloudvault scan --source domains.txt --output findings.json
    cloudvault export -i findings.json -f sarif -o cloudvault.sarif

- name: Upload SARIF
  uses: github/codeql-action/upload-sarif@v2
  with:
    sarif_file: cloudvault.sarif

πŸ“Š Output Examples

Dashboard

╔═══════════════════════════════════════════════════════════╗
β•‘                  CloudVault Dashboard                     β•‘
β•‘              Cloud Security Risk Analysis                 β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

╔════ Security Risk Score ═════╗
β•‘ Risk Score: 64.0/100         β•‘
β•‘ Status: HIGH                 β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

      Findings by Severity      
  CRITICAL: 2 (40.0%)  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
  HIGH:     2 (40.0%)  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
  MEDIUM:   1 (20.0%)  β–ˆβ–ˆβ–ˆβ–ˆ

Top Security Risks:
  1. Public S3 Bucket with Sensitive Data
  2. Credentials in Bucket Objects
  3. Database Dump Exposure

Attack Chain Analysis

Multi-Hop Privilege Escalation (Blast Radius: 90.0)
β”œβ”€β”€ Access Public Bucket (T1530)
β”œβ”€β”€ Extract Credentials (T1552.001)
β”œβ”€β”€ Authenticate with Stolen Credentials (T1078)
└── Exfiltrate Sensitive Data (T1537)

Compliance Report

πŸ“‹ CIS Compliance Report
============================================================

β”œβ”€ Total Controls: 2
β”œβ”€ βœ“ Passed: 0
└─ βœ— Failed: 4

β”œβ”€ CIS-2.1.5: Ensure S3 buckets are not publicly accessible
   └─ βœ— company-prod-backups

πŸ—οΈ Architecture

cloudvault_discovery/
β”œβ”€β”€ cli/              # Click command-line interface
β”œβ”€β”€ core/             # Scanning engine (certstream, scanner)
β”œβ”€β”€ models/           # Data models (Finding, AttackChain)
β”œβ”€β”€ analysis/         # Risk scoring, MITRE mapping, attack chains
β”œβ”€β”€ dashboard/        #Rich visualization and metrics
β”œβ”€β”€ export/           # Multi-format exporters
β”œβ”€β”€ alerts/           # Notification channels
β”œβ”€β”€ filtering/        # Advanced query parser
β”œβ”€β”€ history/          # SQLite database & trends
β”œβ”€β”€ remediation/      # Auto-fix templates
β”œβ”€β”€ compliance/       # Framework mappers
β”œβ”€β”€ graph/            # Trust visualization
└── tui/              # Textual UI

πŸ§ͺ Testing

# Run tests
pytest tests/ -v

# With coverage
pytest tests/ --cov=cloudvault_discovery

πŸ“ Configuration

# config.yaml
scan:
  providers:
    aws: true
    gcp: true
    azure: true
  skip_lets_encrypt: true

alerts:
  slack_webhook: "https://hooks.slack.com/..."
  severity_filter: ["CRITICAL", "HIGH"]

filters:
  exclude_patterns:
    - "*-test-*"
    - "*-dev-*"

🀝 Contributing

Contributions welcome! Please read CONTRIBUTING.md first.

πŸ“„ License

MIT License - see LICENSE for details.

πŸ™ Acknowledgments

πŸ“ž Support


Made with ❀️ for cloud security