Skip to main content

CloudSecGPT logo

CloudSecGPT super‑charges raw cloud‑security findings with AI. Give it an OCSF/ASFF/Parquet export – or pull live from AWS Security Hub, GCP Security Command Center, or Azure Defender – and it spits out:

  • Risk score (1‑10) for every finding
  • One‑line summary, business impact & concise remediation
  • Copy‑‑pasteable CLI fix command
  • Groups to slash alert fatigue
  • A gorgeous self‑contained HTML report
  • An interactive chat so you can ask “why?” & “how do I fix this?” on the fly

✨ Feature Matrix

Pillar Highlights
Sources • JSON-OCSF/JSON-ASFF/Parquet
• --security-hub live pull
• --gcp-scc org / folder / project
• --azure-defender subscription
Analyze Enriches every finding → risk_score, summary, why, cli_fix, remediation
Groups Groups by resource_type + summary → noise ↓, signal ↑
Outputs 3 artefacts in --out dir:
analyzed.csv · grouped.csv · report.html
Chat cloudsecgpt chat → conversational Q&A with full context
LLM back‑ends openai · bedrock · ollama (local) · gemini · MCP client
Smart cache File + prompt hashed (BLAKE2b) → no double billing
Progress UI Tidy Rich bar with live findings counter

📦 Install

pip install cloudsecgpt

(Requires Python ≥ 3.9)

Developers:

git clone https://github.com/MrCloudSec/CloudSecGPT.git
cd CloudSecGPT && poetry install

⚙️ Quick start

export OPENAI_API_KEY=...
cloudsecgpt analyze --file path/to/JSON-OCSF/JSON-ASFF/Parquet \
  [--provider openai] [--model gpt-4o-mini] \
  [--batch 20] [--workers 8] \
  [--out ./out]
  • ./out/analyzed_<timestamp>.csv – full table sorted by highest risk
  • ./out/grouped_<timestamp>.csv – de‑duplicated view
  • ./out/report_<timestamp>.html – share‑ready report (logo, chart, sticky headers)

analyze.gif

Live pulls

# AWS Security Hub via AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and optional AWS_SESSION_TOKEN env vars
cloudsecgpt analyze --security-hub [-o out/]

# GCP SCC (auto‑detect single org) via GOOGLE_APPLICATION_CREDENTIALS env var or gcloud auth application-default login
cloudsecgpt analyze --gcp-scc [org/folder/projectID] [-o out/]

# Azure Defender (single subscription auto) via AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID env vars or az login
cloudsecgpt analyze --azure-defender [subscriptionID] [-o out/]

security-hub.gif

Chat mode

# Chat with the context of a file
cloudsecgpt chat findings.json

# Chat with the context of Security Hub via AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and optional AWS_SESSION_TOKEN env vars
cloudsecgpt chat --security-hub

# Chat with the context of GCP SCC via GOOGLE_APPLICATION_CREDENTIALS env var or gcloud auth application-default login
cloudsecgpt chat --gcp-scc

# Chat with the context of Azure Defender via AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID env vars or az login
cloudsecgpt chat --azure-defender

Ask anything – context is streamed from the analyzed findings.

chat.png


🐳 Docker

# Pull and run
docker run --rm -v $(pwd):/data -e OPENAI_API_KEY=your_key \
  mrcloudsec/cloudsecgpt:latest analyze /data/findings.parquet -o /data/out
# Build locally
git clone https://github.com/MrCloudSec/CloudSecGPT.git
cd CloudSecGPT && docker build -t cloudsecgpt .
docker run --rm -v $(pwd):/data cloudsecgpt analyze /data/findings.parquet -o /data/out

🔌 Providers

Flag Notes
openai OPENAI_API_KEY env var
bedrock standard AWS creds via AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and optional AWS_SESSION_TOKEN env vars
ollama ollama serve on localhost:11434
gemini GEMINI_API_KEY env var
mcp Any Model‑Context‑Protocol host (--host + optional --api-key)

🧑‍💻 Extend

class MyModel:
    def call(self, messages: list[dict[str, str]]) -> str:
        ...

Register it in core.get_model() – done.


🛡️ Why CloudSecGPT?

  • 👀 Single‑pane view across AWS / Azure / GCP / K8s
  • ⚡ Cut triage time with instant clustering
  • 🧠 Explain why it matters – not just “what”
  • 🗣️ Talk to your findings like ChatGPT
  • 👐 Open‑source, pluggable, works offline with local LLMs

🤝 Contributing

PRs & issues welcome! Pre‑commit hooks run Black, Flake8 & Bandit.


📜 License

Apache‑2.0 © 2025 @MrCloudSec

Metadata

Release files for cloudsecgpt 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cloudsecgpt 0.1.1
File Size Uploaded
cloudsecgpt-0.1.1.tar.gz 960.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cloudsecgpt 0.1.1
File Interpreter ABI Platform
cloudsecgpt-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.9 MB

Release files / cloudsecgpt-0.1.1.tar.gz

Download URL cloudsecgpt-0.1.1.tar.gz
Size 960.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a8781119e8efe52005994ac26f40807c5df26fab6ac7a0e14c8fcb4d8d7cf55f
BLAKE2b-256 checksum
How to use checksums
4363a00fba773ccf98d24695475887dbf9a7c13400fa1d9e23353354c2128eab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release files / cloudsecgpt-0.1.1-py3-none-any.whl

Download URL cloudsecgpt-0.1.1-py3-none-any.whl
Size 966.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
39a81d7e31cb0f1cacb5a764bf00aea97dbd6e987703234ff0b17e37592bc558
BLAKE2b-256 checksum
How to use checksums
838608da688171001d278cb345128b90f663d07f6668bbec3c57c79892d813e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page