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绕过, 自动化运维, 请求拦截, 足迹分析, 逆向工具