A cloud exposure and misconfiguration hunting toolkit for practical defensive operations.
- Impact: Improves visibility into cloud identity and exposure risks.
- Scale: Works in repeatable CLI workflows for AWS and GCP environments.
- Use case: IAM hygiene audits, external exposure detection, and controlled remediation planning.
- IAM posture checks for AWS and GCP
- Public exposure scanning with JSON support
- Structured finding metadata:
status,severity,confidence, anddata_source - Extended AWS checks for S3 policy exposure and risky Security Group world-open ingress
- Plan-first remediation workflow for controlled hardening
- Identity hygiene
- IAM and account posture checks
- External attack surface
- Public buckets, public compute, exposed APIs
- Misconfiguration remediation support
- Safe hardening helpers for lab and controlled environments
scripts/aws_iam_audit.sh– AWS account and IAM hygiene checksscripts/gcp_iam_audit.sh– GCP IAM posture checksscripts/public_exposure_scan.py– AWS exposure scan with text or JSON outputscripts/fix.sh– controlled AWS hardening helper (--planor--apply)scripts/run_audit.sh– single entrypoint wrapperscripts/qa_check.sh– syntax and lint checksdocs/– attack paths, misconfig library, and lab setup
git clone https://github.com/FoxSecIntel/cloud-hun.git
cd cloud-hunRun AWS IAM audit:
chmod +x scripts/aws_iam_audit.sh
./scripts/aws_iam_audit.shRun exposure scan:
python3 scripts/public_exposure_scan.py
python3 scripts/public_exposure_scan.py --jsonRun GCP IAM audit:
./scripts/gcp_iam_audit.sh YOUR_PROJECT_IDRun unified wrapper:
./scripts/run_audit.sh --provider aws
./scripts/run_audit.sh --provider gcp --project YOUR_PROJECT_ID# Show actions only
./scripts/fix.sh --plan
# Execute actions
./scripts/fix.sh --apply- AWS CLI v2 configured for AWS scripts
- gcloud CLI configured for GCP scripts
- Python 3.8+
- Optional:
jq,shellcheck
- Use read-only identities for audit collection where possible.
- Run remediation only with explicit approval and change control.
- Validate impact in test or lab accounts before production.
# 1) Run a core check
# 2) Request JSON output
# 3) Pipe into jq for analyst workflows
