mubalachandar/SecOps

GitHub: mubalachandar/SecOps

基于 Node.js 与 Gemini AI 构建的开源云安全运营平台,通过实时摄取 AWS CloudTrail 日志并结合大模型进行自动化威胁检测与事件分诊。

Stars: 1 | Forks: 0

# 🛡️ SecOps AI Copilot ``` ____ _ _ ___ ____ _ _ _ / ___| ___ ___/ | ___ ___ / \ |_ _| / ___|___ _ __ (_) | ___ | |_ \___ \ / _ \/ __| |/ _ \/ __| / _ \ | | | | / _ \| '_ \| | |/ _ \| __| ___) | __/ (__| | (_) \__ \ / ___ \ | | | |__| (_) | |_) | | | (_) | |_ |____/ \___|\___|_|\___/|___/ /_/ \_\___| \____\___/| .__/|_|_|\___/ \__| |_| ``` **AI 驱动的安全运营中心 —— 使用 Gemini AI 进行分类的实时 AWS CloudTrail 威胁检测。** ![Node.js](https://img.shields.io/badge/Node.js-18-43853D?style=flat-square&logo=node.js&logoColor=white) ![React](https://img.shields.io/badge/React-18-61DAFB?style=flat-square&logo=react&logoColor=black) ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-Neon-336791?style=flat-square&logo=postgresql&logoColor=white) ![Redis](https://img.shields.io/badge/Redis-Upstash-DC382D?style=flat-square&logo=redis&logoColor=white) ![Gemini AI](https://img.shields.io/badge/AI-Gemini_1.5_Pro-4285F4?style=flat-square&logo=google&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-Ready-2496ED?style=flat-square&logo=docker&logoColor=white) ![CI](https://img.shields.io/badge/CI-Passing-brightgreen?style=flat-square&logo=github-actions&logoColor=white) ![License](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square) ## 🌟 核心功能 * **📡 实时 CloudTrail 日志摄取**:每 5 分钟安全轮询一次 S3,以持续监控基础设施。 * **⚙️ 自定义检测引擎**:内置 10 条映射至 MITRE ATT&CK 的规则,可即时评估 JSON 模式,替代昂贵的 GuardDuty 设置。 * **🧠 Gemini 1.5 Pro AI 分诊**:自主的事件分析,生成 0-100 的风险评分、攻击叙述以及修复步骤。 * **📊 交互式 React 仪表板**:实时更新的图表、指标和严重性分布。 * **🛠️ 完整的 CRUD 检测规则**:实时的规则管理,并支持针对模拟 JSON payload 进行实时规则测试。 * **🎯 攻击模拟**:内置 5 种模拟场景,可安全触发告警,用于演示和培训。 * **🔐 基于 RBAC 的 JWT 身份验证**:安全的访问控制,包含 `admin`、`analyst` 和 `viewer` 角色。 * **🐳 生产级 Docker 部署**:通过 Docker Compose 编排的多阶段 Dockerfile,并带有 Nginx 反向代理。 * **✅ GitHub Actions CI/CD**:自动化的单元测试、安全扫描(TruffleHog、npm audit)以及 EC2 部署。 ## 🏗️ 架构概述 ``` +-------------+ | Browser | +------+------+ | HTTPS (Port 443) +------v------+ | Nginx | <--- Reverse Proxy & SSL Termination +--+-------+--+ | | Port 80 | | Port 5000 +---------v-+ +-v-----------+ +-------------------+ | React | | Node.js +------> | AWS CloudTrail S3 | | Frontend | | Backend | +-------------------+ +-----------+ +-+---+---+---+ | | | +------------+ | +-------------+ | | | +----v-------+ +-----v-------+ +------v-------+ | PostgreSQL | | Redis Cache | | Gemini AI | | (Neon.tech)| | (Upstash) | | (API via SDK| +------------+ +-------------+ +--------------+ ``` ## 🛠️ 技术栈 | 组件 | 技术 | 选择原因 | |-----------|------------|-----------------| | **Frontend** | React + Vite + Tailwind | 极速的 HMR、组件驱动架构以及高度可定制的实用优先 CSS。 | | **Backend** | Node.js + Express | 事件驱动、非阻塞 I/O,非常适合轮询流和处理并发的 AI API 请求。 | | **Database** | PostgreSQL (Neon.tech) | Serverless 扩展、支持用于原始事件存储的 JSONB,以及未来可用的 pgvector 就绪支持。 | | **Cache** | Redis (Upstash) | Serverless Redis,用于 JWT 封锁列表、速率限制和检测规则缓存。 | | **AI Engine** | Google Gemini 1.5 Pro | 海量的上下文窗口(高达 2M token),可精准分析大型 CloudTrail payload。 | | **Auth** | JWT + bcrypt | 具有安全哈希密码(salt rounds: 12)的无状态身份验证。 | | **Deployment**| Docker + Nginx + EC2 | 容器化环境确保了开发、测试和生产环境之间的一致性。 | | **CI/CD** | GitHub Actions | 集成、快速的 pipeline,用于语法检查、Jest 覆盖率和自动化部署。 | ## 🚀 快速开始 **前置条件:** Node 18+、Docker、AWS 账户(模拟功能可选)。 1. **克隆仓库:** git clone https://github.com/yourusername/secops-ai-copilot.git cd secops-ai-copilot 2. **复制 env 文件并填写凭证:** cp .env.example .env # 使用你的 Gemini API Key、Neon DB URL、Upstash Redis URL 编辑 .env 文件 3. **安装依赖:** cd backend && npm install cd ../frontend && npm install 4. **填充数据库:** cd backend && npm run seed 5. **启动开发服务器:** docker-compose up -d # 或者手动运行:在前端和后端目录中分别执行 npm run dev 6. **打开应用程序:** `http://localhost:5173` ### 演示凭证 - **Admin:** `admin@secops.local` / `Admin@123456` - **Analyst:** `analyst@secops.local` / `Analyst@123456` ## 📡 API 端点 | 方法 | 路径 | 描述 | 需要身份验证 | |--------|------|-------------|---------------| | `POST` | `/api/v1/auth/login` | 进行身份验证并获取 JWT | 否 | | `GET` | `/api/v1/analytics/dashboard`| 获取关键指标和图表 | 是 | | `GET` | `/api/v1/alerts` | 列出安全告警 | 是 | | `POST` | `/api/v1/alerts/:id/analyze` | 触发 Gemini AI 分析 | 是 | | `GET` | `/api/v1/cloudtrail/events` | 获取已摄取的原始事件 | 是 | | `POST` | `/api/v1/cloudtrail/simulate`| 触发攻击模拟 | 是 (Admin) | | `GET` | `/api/v1/rules` | 管理检测引擎规则 | 是 | ## 🛡️ MITRE ATT&CK 覆盖范围 | 规则名称 | 战术 | 技术 | 严重性 | |-----------|--------|-----------|----------| | Root 账户使用 | 权限提升 | T1078 - Valid Accounts | Critical | | 无 MFA 的控制台登录 | 凭证访问 | T1111 - Two-Factor Bypass | High | | CloudTrail 日志记录已禁用 | 防御规避 | T1562.008 - Disable Cloud Logs | Critical | | EC2 实例枚举 | 发现 | T1087 - Account Discovery | Low | | 未经授权的安全组修改 | 防御规避 | T1562.007 - Disable Network Traffic Routing | High | | IAM 用户创建 | 持久化 | T1136.003 - Cloud Account | Medium | | S3 存储桶公共访问拦截已移除 | 凭证访问 / 数据泄露 | T1530 - Data from Cloud Storage | High | | Secrets Manager 密钥被访问 | 凭证访问 | T1528 - Steal Application Access Token | Critical | | 启动大型 EC2 实例 | 资源劫持 | T1496 - Resource Hijacking (Cryptomining) | Medium | | 未知区域活动 | 初始访问 | T1190 - Exploit Public-Facing App | High | ## 📜 许可证 在 MIT 许可证下分发。查看 `LICENSE` 了解更多信息。
标签:AI辅助分析, AMSI绕过, AWS CloudTrail, Docker, GNU通用公共许可证, MITM代理, Node.js, PostgreSQL, 威胁检测, 安全运营, 安全防御评估, 扫描框架, 搜索引擎查询, 测试用例, 自定义脚本, 请求拦截