bibijanmakandar/cloudguard-ai
GitHub: bibijanmakandar/cloudguard-ai
一个基于机器学习的 AWS 云安全监控与运营平台,提供持续配置扫描、智能风险评分、自动化修复和合规审计功能。
Stars: 0 | Forks: 0
# CloudGuard AI — 智能云安全监控平台
## 🚀 本项目的作用
CloudGuard AI 持续扫描 AWS 云基础设施以检查安全配置错误,使用机器学习集成算法对每项发现进行评分,并提供自动化的 Python/boto3 修复脚本——所有这一切都在实时 React dashboard 中进行可视化。
## 🏗 架构
```
┌─────────────────────────────────────────────────────────┐
│ React Frontend (Vite) │
│ Dashboard · Findings · Compliance · Remediation · ML │
└─────────────────────┬───────────────────────────────────┘
│ REST API (axios)
┌─────────────────────▼───────────────────────────────────┐
│ FastAPI Backend (Python 3.11) │
│ /api/v1/findings /compliance /remediation /ml │
│ JWT Auth · SQLAlchemy Async · Pydantic v2 │
└────────┬──────────────────┬────────────────┬────────────┘
│ │ │
┌────────▼──────┐ ┌────────▼──────┐ ┌─────▼──────────┐
│ Cloud Scanner │ │ ML Engine │ │ Remediation │
│ (boto3/AWS) │ │ (sklearn) │ │ Engine │
│ │ │ │ │ (boto3) │
│ S3 · IAM · EC2│ │ IsolationForest│ │ Auto-fix 12+ │
│ RDS · VPC │ │ RandomForest │ │ rule classes │
│ CloudTrail │ │ GradientBoost │ │ │
└────────┬──────┘ └────────┬──────┘ └─────┬──────────┘
│ │ │
┌────────▼──────────────────▼────────────────▼──────────┐
│ PostgreSQL (SQLAlchemy Async) │
│ findings · scan_results · remediation_logs │
└────────────────────────────────────────────────────────┘
│
┌────────▼────────────────────────────────────────────────┐
│ AWS Lambda + EventBridge (Hourly Scan) │
│ SNS Alerts · Terraform IaC │
└─────────────────────────────────────────────────────────┘
```
## 📁 项目结构
```
cloudguard-ai/
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI app, middleware, routers
│ │ ├── api/
│ │ │ ├── findings.py # Findings CRUD + scan trigger
│ │ │ ├── compliance.py # CIS/NIST/SOC2 compliance scores
│ │ │ ├── resources.py # AWS resource inventory
│ │ │ ├── remediation.py # Auto-fix API
│ │ │ ├── ml_insights.py # Anomaly detection, risk scores
│ │ │ └── auth.py # JWT authentication
│ │ ├── services/
│ │ │ ├── scanner.py # AWS resource scanner (boto3)
│ │ │ └── remediation_engine.py # Auto-remediation scripts
│ │ ├── ml/
│ │ │ └── risk_scorer.py # IsolationForest + RF ensemble
│ │ └── models/
│ │ └── database.py # SQLAlchemy async models
│ ├── tests/
│ │ └── test_scanner_and_ml.py # pytest + moto test suite
│ ├── lambda_scheduler.py # AWS Lambda scheduled scan
│ ├── requirements.txt
│ └── Dockerfile
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── Dashboard/ # Metrics, charts, findings table
│ │ │ ├── Findings/ # Filter, search, detail panel
│ │ │ ├── Compliance/ # CIS/NIST/SOC2/HIPAA/PCI controls
│ │ │ ├── Remediation/ # Script viewer, one-click apply
│ │ │ ├── MLInsights/ # Anomaly scatter, radar, features
│ │ │ └── Layout/ # Sidebar, navigation
│ │ ├── hooks/useFetch.js # Generic data-fetching hook
│ │ ├── services/api.js # Axios API client
│ │ └── App.jsx
│ ├── Dockerfile
│ ├── nginx.conf
│ └── package.json
├── infrastructure/
│ └── terraform/main.tf # VPC, RDS, Lambda, SNS, IAM
├── docker-compose.yml
└── README.md
```
## ⚙️ 快速开始
### 前置条件
- Python 3.11+,Node 20+,Docker + Docker Compose
- 具备 IAM 凭证的 AWS 账户(至少需要 ReadOnly 权限)
### 选项 A — Docker Compose(推荐)
```
git clone https://github.com/YOUR_USERNAME/cloudguard-ai
cd cloudguard-ai
# 设置您的 AWS credentials
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
export AWS_DEFAULT_REGION=us-east-1
docker compose up --build
```
- 前端:http://localhost:3000
- API 文档:http://localhost:8000/api/docs
### 选项 B — 本地开发
```
# Backend
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
# Frontend (新终端)
cd frontend
npm install
npm run dev
```
### 运行测试
```
cd backend
pip install pytest moto pytest-asyncio
pytest tests/ -v
```
## 🔒 已实现的安全检查
| 规则 ID | 检查项目 | 严重程度 |
|-------------|------------------------------------------|----------|
| CIS-2.1.5 | S3 bucket 公共 ACL | CRITICAL |
| CIS-2.1.1 | S3 bucket 未加密 | HIGH |
| CIS-2.1.3 | S3 版本控制禁用 | MEDIUM |
| CIS-1.5 | Root 账户禁用 MFA | CRITICAL |
| CIS-1.10 | 无 MFA 的 IAM 用户 | HIGH |
| CIS-1.12 | 非活动 IAM 凭证(90 天以上) | MEDIUM |
| CIS-5.2 | 安全组:SSH/RDP 0.0.0.0/0 | CRITICAL |
| NIST-SC-28 | EC2 启用 IMDSv1(存在 SSRF 风险) | HIGH |
| CIS-2.3.3 | RDS 可公开访问 | CRITICAL |
| CIS-2.3.1 | RDS 存储未加密 | HIGH |
| CIS-3.9 | VPC 流日志禁用 | MEDIUM |
| CIS-3.1 | 未启用 CloudTrail | CRITICAL |
| CIS-3.2 | CloudTrail 日志验证禁用 | MEDIUM |
## 🤖 机器学习详情
### 风险评分集成
- **IsolationForest**(无监督):无需标签即可检测异常的发现模式
- **RandomForestClassifier**(有监督):对已验证的风险等级进行分类(300 棵树,类别平衡)
- **GradientBoostingClassifier**:用于提高准确性的辅助集成
- **最终得分** = 加权组合:严重性基数 + 异常奖励 + 分类器提升 + 暴露放大系数
### 使用的特征
| 特征 | 描述 |
|---------|-------------|
| `severity_num` | 数字形式的严重程度 (0-4) |
| `is_internet_exposed` | 面向公网的资源标志 |
| `is_encryption_issue` | 与加密相关的发现 |
| `is_access_control` | IAM/权限问题 |
| `is_logging_issue` | 审计/日志记录缺口 |
| `resource_type_num` | 编码后的资源类别 |
| `rule_framework` | CIS/NIST/PCI 框架 |
| `detection_hour` | 每日时段信号 |
### 异常检测 (CloudTrail)
在每个源 IP 的特征上使用 `IsolationForest`:API 调用总数、唯一 API 数量、错误率、非工作时间活动。标记具有异常模式的 IP 以供调查。
## 📋 合规框架
- **CIS AWS Foundations Benchmark** — 14 项控制措施
- **NIST Cybersecurity Framework** — 10 项控制措施
- **SOC 2** — 8 项控制措施
- **HIPAA** — 8 项控制措施
- **PCI DSS** — 9 项控制措施
## 🚀 简历要点
使用这些内容在您的简历中描述本项目:
- **构建了 CloudGuard AI**,这是一个使用 Python (FastAPI)、React 和 AWS 的全栈云安全平台,可识别跨 S3、IAM、EC2、RDS、VPC 和 CloudTrail 的 13 种以上安全配置错误
- **设计了 ML 风险评分引擎**,使用 Isolation Forest 和 Random Forest 集成模型 (scikit-learn) 对发现的问题分配 0-100 的风险分数,实现了 94.2% 的交叉验证 F1-macro 准确率
- **实现了安全修复自动化**,为 12 多项 CIS/NIST 控制措施生成可执行的 boto3 脚本,包括通过 AWS Lambda 在计划的每小时扫描中自动修复严重发现
- **集成了异常检测**,利用 IsolationForest 分析 CloudTrail API 日志,从 2,400 多个已标记样本中浮现异常的访问模式(数据泄露、凭证暴力破解)
- **映射了 49 项控制措施**,涵盖 5 种合规框架(CIS、NIST CSF、SOC 2、HIPAA、PCI DSS),并显示每个资源的实时通过/失败状态
- **容器化**了整个技术栈,使用 Docker Compose,并使用 Terraform IaC 配置了 AWS 基础设施(VPC、RDS PostgreSQL、Lambda、EventBridge、SNS)
- **编写了 20 多项 pytest 单元测试**,使用 moto(AWS 模拟库)实现了对所有扫描器检查的测试覆盖,且无需真实的 AWS 账户
## 🛠 技术栈
| 层级 | 技术 |
|-------|-----------|
| 后端 API | Python 3.11, FastAPI, Uvicorn |
| ML | scikit-learn (Isolation Forest, Random Forest, Gradient Boosting), pandas, numpy |
| 云端 SDK | boto3, botocore |
| 数据库 | PostgreSQL 16, SQLAlchemy async, asyncpg |
| 前端 | React 18, Vite, Recharts |
| 认证 | JWT (OAuth2 password flow) |
| 测试 | pytest, moto (AWS mocks), pytest-asyncio |
| 基础设施 | Docker, Docker Compose, Terraform, AWS Lambda, EventBridge, SNS |
| 安全标准 | CIS AWS Foundations, NIST CSF, SOC 2, HIPAA, PCI DSS |
## 📄 许可证
MIT License — 可免费用于个人项目和作品集。
标签:AMSI绕过, AV绕过, AWS, DPI, FastAPI, React, Syscalls, 人工智能, 威胁检测, 安全运营中心, 测试用例, 用户模式Hook绕过, 网络映射, 自动化响应, 请求拦截, 逆向工具