paripuranam/CloudAegis-AI

GitHub: paripuranam/CloudAegis-AI

CloudAegis AI 是一个面向 AWS 的 AI 辅助云治理平台,整合安全态势管理、成本优化、决策智能和审批式修复执行功能。

Stars: 0 | Forks: 0

# CloudAegis AI - 统一云治理平台 一款生产级 SaaS 平台,将**安全运营(SecOps)**、**成本优化(FinOps)**和**决策智能**整合为统一的云治理解决方案。 ## 🚀 快速开始 ### 前置条件 - Docker 和 Docker Compose - Node.js 18+(用于本地开发) - Python 3.10+(用于本地开发) ### 使用 Docker Compose 部署 ``` cd /home/ubuntu/ops/cloudguard docker-compose up -d --build # 服务将在以下地址可用: # 前端:http://localhost:3008 # 后端 API:http://localhost:8010 # API 文档:http://localhost:8010/docs # 数据库:localhost:5432 ``` ### 开发模式 当前产品流程以连接真实 AWS 账户并使用明确凭证进行扫描为中心。前端入职流程特意简化为**访问密钥 ID + 秘密访问密钥**,以便直接且可预测地连接账户。 ## 🎯 核心愿景 CloudAegis AI 整合云治理的三个维度: - **🔐 安全(SecOps)** → 通过 AWS CIS 检查检测安全风险 - **💰 成本优化(FinOps)** → 识别浪费和优化机会 - **🧠 决策智能** → 智能平衡安全、成本和稳定性 - **⚙️ 安全修复** → 基于审批的执行控制,支持回滚 ## ✨ 核心原则 ### 禁止: - 不了解影响就盲目自动修复 - 不提供业务上下文就显示原始告警 - 未经明确审批就执行变更 ### 必须: - 提供可决策的洞察,包括: - 安全风险评估(0-100 分) - 成本影响分析(每月潜在节省) - 稳定性风险评估(故障风险评估) - 附带置信度分数的推荐操作 - 执行前必须获得审批 - 支持失败变更的回滚 - 保持完整的审计跟踪 - 在刷新周期中保留云账户数据 ## 🏗️ 系统架构 ### 后端(Python 3.10+ + FastAPI 0.104+) **核心模块:** ``` /services/ ├── aws_connector.py # AWS discovery client for access-key and role-based auth ├── scanner.py # Security scanning (3x AWS CIS checks) ├── cost_analyzer.py # Cost analysis (4x optimization patterns) ├── decision_engine.py # CORE: Security (40%) + Cost (35%) + Stability (25%) ├── impact_analyzer.py # Blast radius analysis & breakage prevention ├── remediation_planner.py # Terraform-based fix plan generation └── executor.py # Safe execution with pre-run snapshots & rollback /api/ └── routes.py # 16 RESTful endpoints with proper error handling /models/ ├── schemas.py # Pydantic validation schemas └── database_models.py # SQLAlchemy ORM (9 tables) /db/ ├── database.py # Connection pooling & session management └── base.py # Declarative base ``` ### 前端(React 18 + Vite 5 + Tailwind CSS) **页面:** - **仪表盘** - 一目了然的态势、扫描时间线、服务覆盖范围 - **发现项** - 统一的安全和成本发现视图,支持筛选 - **连接 AWS** - 访问密钥 + 秘密密钥入职,带有基准感知初始扫描 - **审计日志** - 合规审计跟踪,支持搜索/导出 **关键组件:** - **风险徽章** - 可视化风险等级(严重/高/中/低) - **风险条** - 聚合治理评分条 - **修复预览弹窗** - 决策执行的关键审批 UI - **发现项表格** - 带内联操作的分页发现项列表 **最新构建的改进:** - 修复了自动刷新数据丢失问题,网络错误时保留数据 - 优化了 useFetching hook,防止竞态条件 - 缓存了 API 调用,防止不必要的重新渲染 - 增强了 UI 对齐和间距 - 添加了可折叠的生产风格侧边栏,带有 CloudAegis AI 徽标 - 简化了导航界面,移除了冗长的侧边栏描述 ### 数据库(PostgreSQL 14-alpine) **模式(9 张表):** ``` -- Multi-account management cloud_accounts # AWS accounts with auth method, credential metadata, and regions -- Findings & Analysis findings # Security findings + risk levels cost_findings # Cost optimization findings + savings potential -- Decision Engine decisions # Combined risk/cost/stability decisions remediation_plans # Fix plans with Terraform code -- Execution & Audit execution_logs # Record of all remediation executions rollback_states # Pre-execution snapshots for safe rollback audit_logs # Compliance trail (who, what, when, result) -- Access Control users # User accounts & RBAC ``` ## 🔍 安全检查(MVP) ### 安全运营检查: 1. **S3 公共访问** - 检测没有公共访问阻止的 S3 存储桶 - 风险:高 - 建议:启用公共访问阻止 2. **具有危险规则的安全组** - 检测 SSH (22) 和 RDP (3389) 上的 0.0.0.0/0 - 风险:严重 - 建议:限制为特定 IP 3. **IAM 通配符策略** - 检测过度宽松的 IAM 策略 - 风险:中(需要人工审查) - 建议:应用最小权限原则 ## 💰 FinOps 检查(MVP) ### 成本优化检查: 1. **闲置 EC2 实例** - 检测 14 天内 CPU 使用率 < 5% 的实例 - 节省:缩减后可节省 50% - 建议:停止或降级实例 2. **未挂载的 EBS 卷** - 检测未连接到实例的卷 - 节省:100%(安全删除) - 建议:删除卷 3. **过度配置的 EC2 实例** - 检测内存使用率 < 30% 的实例 - 节省:缩减后可节省 40% - 建议:降级为更小类型 4. **没有生命周期策略的 S3** - 检测缺少存储优化的存储桶 - 节省:25-50%(迁移到更便宜的层级) - 建议:添加生命周期策略 ## 🧠 决策引擎(核心功能) 决策引擎整合三个维度: ``` Output: { "resource": "ec2-i-12345", "security_risk": "low", "monthly_cost": "$80", "potential_savings": "$50", "stability_risk": "medium", "recommended_action": "downgrade_instance", "confidence_score": 0.85, "reasoning": "Low CPU usage over 14 days. Safe to downgrade." } ``` **权重:** - 安全风险:40% - 成本影响:35% - 稳定性风险:25% ## 🔥 影响分析器(爆炸半径) 在任何修复之前,分析: ``` Output: { "affected_entities": ["i-67890", "i-78901"], "risk_of_breakage": "medium", "explanation": "Restricting SSH will block current active IPs", "recommendation": "Whitelist IPs before applying" } ``` 通过识别以下内容防止盲目自动修复: - 受影响的资源 - 主动服务中断的风险 - 安全执行时间线 ## ⚙️ API 端点 ### 连接 - `POST /api/v1/connect-aws` - 连接 AWS 账户 ### 扫描 - `POST /api/v1/scan` - 扫描账户发现项 - `GET /api/v1/findings` - 获取安全发现项 - `GET /api/v1/cost-findings` - 获取成本发现项 - `GET /api/v1/finding/{id}` - 获取完整的发现项详情 ### 决策与修复 - `GET /api/v1/decisions` - 获取所有决策 - `POST /api/v1/generate-plan/{finding_id}` - 生成修复计划 - `POST /api/v1/approve/{decision_id}` - 审批决策 - `POST /api/v1/execute/{decision_id}` - 执行修复 - `POST /api/v1/rollback/{execution_id}` - 回滚执行 ### 审计 - `GET /api/v1/logs` - 获取审计跟踪 ### 健康检查 - `GET /api/v1/health` - 健康检查 ## 🔐 AWS 集成 **认证模型:** - 前端不包含硬编码凭证 - 当前 UI 流程使用 AWS 访问密钥 ID + 秘密访问密钥 - 后端仍支持基于角色的认证,用于未来/管理员集成 - 支持多账户和多区域 **推荐的 IAM 权限:** ``` { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Describe*", "s3:GetBucketPublicAccessBlock", "s3:ListBucket", "iam:ListPolicies", "cloudwatch:GetMetricStatistics" ], "Resource": "*" } ] } ``` ## 🔁 安全修复系统 ### 执行工作流: 1. **需要审批** - 所有修复都需要明确审批 - 审计跟踪记录审批人和时间戳 2. **执行前快照** - 捕获当前资源状态 - 存储在 rollback_states 表中 - 实现安全恢复 3. **受控执行** - 带错误处理执行修复 - 记录所有变更 - 向用户返回状态 4. **回滚支持** - 恢复到执行前状态 - 维护操作历史 - 支持部分回滚 ## 📦 Terraform 导出 为所有修复生成基础设施即代码: ``` # S3 公开访问修复 resource "aws_s3_public_access_block" "main" { bucket = "my-bucket" block_public_acls = true ignore_public_acls = true block_public_policy = true restrict_public_buckets = true } # 安全组修复 resource "aws_security_group_rule" "restrict_ssh" { type = "ingress" from_port = 22 to_port = 22 protocol = "tcp" cidr_blocks = ["YOUR_IP/32"] security_group_id = "sg-12345" } ``` ## 🚀 入门 ### 前置条件 - Python 3.10+ - Node.js 18+ - PostgreSQL 14+ - 已设置 IAM 角色的 AWS 账户 ### 后端设置 ``` cd backend # 安装依赖 pip install -r requirements.txt # 配置环境 cp .env.example .env # 使用数据库和 API 设置编辑 .env # 创建数据库表 alembic upgrade head # 运行开发服务器 python run.py # API 可在 http://localhost:8000 访问 ``` ### 前端设置 ``` cd frontend # 安装依赖 npm install # 运行开发服务器 npm run dev # UI 可在 http://localhost:3000 访问 ``` API 代理在 vite.config.js 中配置,将 `/api` 请求转发到后端。 ### 数据库设置 ``` # 创建 PostgreSQL 数据库 createdb cloudaegis_db # 迁移由 SQLAlchemy 模型处理 # 应用启动时自动创建表 ``` ## 📊 仪表盘组件 ### 仪表盘页面 - **统计卡片** - 总发现项 - 待审批 - 每月总节省 - **严重发现项** - 风险优先级 - **成本分布** - FinOps 概览 - **快速操作** - 导航到关键流程 ### 统一发现项页面 - **多维筛选** - 按类型、风险、状态 - **风险颜色编码** - 可视化风险评估 - **内联操作** - 审查、审批、执行 - **批量操作** - 编辑多个发现项 ### 修复预览弹窗(最关键) - **问题上下文** - 问题是什么及原因 - **风险评估** - 安全 + 成本 + 稳定性 - **影响分析** - 爆炸半径和警告 - **审批工作流** - 备注 +按钮 - **Terraform 导出** - 基础设施即代码 - **计划选项** - 推迟执行 ### 审计日志页面 - **完整审计跟踪** - 谁、什么、何时 - **审批历史** - 决策记录 - **执行时间线** - 变更跟踪 - **合规导出** - SOC 2 就绪 ## 🔐 安全最佳实践 - ✅ JWT 认证(可扩展) - ✅ 基于角色的访问控制(RBAC) - ✅ 敏感数据加密 - ✅ API 速率限制 - ✅ CORS 配置 - ✅ 输入验证(Pydantic) - ✅ SQL 注入预防(SQLAlchemy ORM) - ✅ 合规审计日志 ## 📝 数据库模式 完整的 ORM 定义请参阅 [models/database_models.py](backend/app/models/database_models.py)。 关键关系: - User → Decision(审批) - CloudAccount → Finding(多租户) - Finding → Decision → RemediationPlan(1:1:1) - Decision → ExecutionLog(1:N) - ExecutionLog → RollbackState(1:1) ## 🧪 测试 ``` # 后端测试 cd backend pytest # 前端测试 cd frontend npm test ``` ## 📚 当前产品说明 - 仪表盘和发现项是由扫描历史驱动的,而非纯实时列表驱动。 - 选定的账户、选定的扫描、库存和扫描历史在客户端缓存,以减少刷新和标签页切换时的闪烁。 - 安全扫描可以对照支持的 AWS CIS 版本进行映射:`1.2.0`、`1.4.0` 和 `3.0.0`。 ## 🚀 生产部署 ### 后端(Docker) ``` FROM python:3.11-slim COPY backend /app WORKDIR /app RUN pip install -r requirements.txt CMD ["python", "run.py"] ``` ### 前端(Docker) ``` FROM node:18 AS builder COPY frontend /app WORKDIR /app RUN npm install && npm run build FROM nginx:alpine COPY --from=builder /app/dist /usr/share/nginx/html ``` ### Kubernetes 有关示例部署,请参阅 `k8s/` 目录(未包含在 MVP 中)。 ## 🔥 附加功能(路线图) - [ ] 严重发现项的 Slack 告警 - [ ] 为修复创建 GitHub PR(GitOps) - [ ] CI/CD 管道集成 - [ ] 带评论的多用户协作 - [ ] 自定义规则引擎 - [ ] Azure + GCP 支持 - [ ] 异常检测的机器学习 - [ ] 计划扫描 - [ ] SNS/SQS 集成 - [ ] CloudFormation 支持 ## 📄 许可证 CloudAegis AI - 生产级云治理平台 ## 👥 支持 如有问题、疑问或建议: - 📧 support@cloudaegis.dev - 📚 docs.cloudaegis.dev - 💬 slack.cloudaegis.dev **由相信安全、智能云转型的 DevSecOps 团队用 ❤️ 构建。**
标签:AMSI绕过, Anthropic, AV绕过, AWS, CIS基准, Docker, DPI, ECS, FastAPI, FinOps, Python, SaaS平台, SecOps, StruQ, Terraform, XXE攻击, 云安全架构, 云治理, 云资源扫描, 人工智能, 修复建议, 决策智能, 合规检测, 回滚支持, 威胁检测, 安全态势管理, 安全防御评估, 审批工作流, 成本优化, 无后门, 测试用例, 版权保护, 用户模式Hook绕过, 自动化运维, 请求拦截, 足迹分析, 逆向工具