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绕过, 网络映射, 自动化响应, 请求拦截, 逆向工具