Shyamsundar0606/AI-Powered-Cyber-Defense-Platform-CyberGuard-AI-

GitHub: Shyamsundar0606/AI-Powered-Cyber-Defense-Platform-CyberGuard-AI-

一个离线优先的全栈安全运营中心平台,集成 AI 告警分析、MITRE ATT&CK 映射、威胁情报、检测工程和威胁狩猎,为防御性安全工作流提供可解释的端到端闭环。

Stars: 0 | Forks: 0

# CyberGuard AI CyberGuard AI 是一个全栈安全运营中心(SOC)平台,用于告警调查、威胁情报、MITRE ATT&CK 映射、检测工程、威胁狩猎和高管安全报告。 该平台使用确定性、可解释的分析和本地情报数据集。它无需付费 API 或依赖互联网的安全服务即可运行,使其非常适合可重复的演示、本地实验室和网络安全工程作品集。 ## 核心能力 - 具备用户和管理员角色的 JWT 身份验证 - 使用 bcrypt 进行安全的密码哈希处理 - 通过 SQLAlchemy 实现 SQLite 持久化 - 带有严重性评分和事件报告的 AI SOC 分析师 - 本地 MITRE ATT&CK 知识库和日志到技术映射 - 针对IP地址、域名、文件哈希和CVE的离线丰富 - Sigma 和 YARA 检测规则生成 - 基于模式匹配和攻击时间线的威胁狩猎 - 带有实时 SQLite 分析的安全运营中心仪表板 - 支持复制、打印和 Markdown 导出的高管安全报告 ## 平台模块 ### AI SOC 分析师 分析身份验证、网络、恶意软件和其他安全事件。结果包括严重性、风险评分、可疑指标、MITRE ATT&CK 映射、威胁情报丰富、建议措施和事件报告。 ### 威胁情报 使用本地数据集和确定性规则丰富指标: - 公有、私有、环回和保留 IP 分类 - 已知的可疑 IP 信誉 - 可疑和已知恶意域名检测 - MD5、SHA-1 和 SHA-256 识别 - 本地 CVE 严重性、CVSS、描述和缓解措施查询 ### MITRE ATT&CK 知识库 提供本地技术搜索、详细的防御指南、检测思路、缓解措施、示例关键字以及从日志的自动映射。 ### 检测工程 根据可疑行为生成受招聘人员青睐的 Sigma 和 YARA 规则。每个方案包都包含解释、误报说明、推荐的日志来源、严重性以及丰富的 MITRE 映射。 ### 威胁狩猎 在粘贴的日志中搜索身份验证、PowerShell、网络和凭证访问行为。它提取时间戳,识别匹配行,计算风险,映射技术并重建攻击时间线。 ### 安全运营仪表板 将现有的 SQLite 记录聚合为: - 告警和严重性 KPI - 安全态势评分 - MITRE 技术分布 - IOC 类别和标签分析 - 告警、检测和狩猎趋势 - 最近的活动和最新的安全记录 - 适合高管的 Markdown 报告 ## 技术栈 | 层级 | 技术 | | --- | --- | | 后端 | Python 3.12, FastAPI, Pydantic | | 数据库 | SQLite, SQLAlchemy | | 身份验证 | JWT, python-jose, passlib, bcrypt | | 前端 | Next.js 16, React 19, TypeScript | | 样式 | Tailwind CSS, Lucide icons | | 分析 | Recharts | | 本地数据 | JSON MITRE 和威胁情报数据集 | | 容器 | Docker Compose | ## 架构 ``` Browser | v Next.js frontend (localhost:3000) | | Bearer JWT / JSON v FastAPI backend (127.0.0.1:8000) | +-- Authentication and role checks +-- Deterministic security analysis services +-- Local MITRE and threat intelligence JSON | v SQLite database +-- users +-- investigations +-- detection_rules +-- hunting_results ``` 后端模块遵循面向服务的结构: ``` backend/app/ |-- api/ # FastAPI routes |-- core/ # Configuration and JWT security |-- data/ # Local MITRE and threat intelligence datasets |-- db/ # SQLAlchemy engine and sessions |-- models/ # Database models |-- schemas/ # Pydantic request and response contracts |-- services/ # Security analysis and dashboard logic `-- main.py # Application setup and router registration ``` 前端路由和 API 客户端组织如下: ``` frontend/ |-- app/ | |-- dashboard/ | | |-- detection-engineering/ | | |-- mitre/ | | |-- reports/ | | |-- soc-analyst/ | | |-- threat-hunting/ | | `-- threat-intel/ | |-- login/ | `-- register/ `-- lib/ # Typed API and authentication clients ``` ## 本地设置 ### 前置条件 - Python 3.12 - Node.js 20 或更高版本 - pnpm 11 - Git ### 后端 在仓库根目录打开 PowerShell: ``` cd backend py -3.12 -m pip install -r requirements.txt py -3.12 -m uvicorn app.main:app --reload ``` 后端可通过以下地址访问: - API: `http://127.0.0.1:8000` - Swagger 文档: `http://127.0.0.1:8000/docs` - 健康检查: `http://127.0.0.1:8000/health` ### 前端 打开第二个 PowerShell 窗口: ``` cd frontend npx.cmd pnpm@11.0.7 install npx.cmd pnpm@11.0.7 dev ``` 打开 `http://localhost:3000`。 ### Docker Compose ``` docker compose up --build ``` ## 配置 后端读取以下可选的环境变量: | 变量 | 默认值 | 用途 | | --- | --- | --- | | `DATABASE_URL` | `sqlite:///./cyberguard.db` | SQLAlchemy 数据库连接 | | `JWT_SECRET_KEY` | 开发回退 | JWT 签名密钥 | | `ACCESS_TOKEN_EXPIRE_MINUTES` | `60` | 访问令牌生命周期 | 在任何共享或部署使用之前,请设置一个强 JWT 密钥: ``` $env:JWT_SECRET_KEY = "replace-with-a-long-random-secret" ``` 前端在提供时使用 `NEXT_PUBLIC_API_BASE_URL`,否则连接到 `http://127.0.0.1:8000`。 ## API 概述 除非另有说明,所有安全工作流端点都需要 Bearer JWT。 | 方法 | 端点 | 用途 | | --- | --- | --- | | `GET` | `/health` | 公开后端健康检查 | | `POST` | `/api/auth/register` | 注册用户并返回令牌 | | `POST` | `/api/auth/login` | 进行身份验证并返回令牌 | | `GET` | `/api/auth/me` | 返回当前用户 | | `GET` | `/api/protected/dashboard` | 验证受保护的仪表板访问权限 | | `GET` | `/api/protected/admin` | 验证管理员访问权限 | | `POST` | `/api/soc/analyze` | 分析并存储安全告警 | | `GET` | `/api/soc/history` | 返回最近的调查 | | `GET` | `/api/mitre/techniques` | 列出本地 MITRE 技术 | | `GET` | `/api/mitre/techniques/{technique_id}` | 返回一项技术 | | `POST` | `/api/mitre/map-log` | 将日志内容映射到 MITRE 技术 | | `POST` | `/api/threat-intel/enrich` | 丰富 IP、域名、哈希或 CVE | | `GET` | `/api/threat-intel/ip/{ip}` | 丰富 IP 地址 | | `GET` | `/api/threat-intel/cve/{cve}` | 查询本地 CVE | | `POST` | `/api/detection/generate` | 生成 Sigma 和 YARA 规则 | | `GET` | `/api/detection/history` | 返回最近生成的规则 | | `POST` | `/api/hunting/query` | 运行确定性威胁狩猎 | | `GET` | `/api/hunting/history` | 返回最近的狩猎 | | `GET` | `/api/dashboard/overview` | 返回 SOC 指标和分析 | | `GET` | `/api/dashboard/report` | 生成高管 Markdown 报告 | ## 推荐的测试工作流 1. 注册用户并登录。 2. 在 AI SOC 分析师中分析登录失败或可疑的 PowerShell 事件。 3. 查看 MITRE 映射和自动的源/目的 IP 丰富。 4. 在威胁狩猎中打开告警并检查生成的时间线。 5. 从调查中生成 Sigma/YARA 检测方案包。 6. 返回安全运营中心并验证 KPI 和图表是否更新。 7. 打开高管报告并测试复制、下载 Markdown 和打印。 ## 安全说明 - 密码经过哈希处理,绝不以明文形式存储。 - JWT 在配置的生命周期后过期。 - 受保护的端点验证 Bearer 令牌和用户活动状态。 - CORS 仅限于配置的本地前端来源。 - 本地数据集和确定性分析确保安全决策是可解释的。 - 对于此 MVP,浏览器将访问令牌存储在本地存储中。生产部署应优先使用安全的、HTTP-only 的 cookie,并添加 refresh-token 轮换、速率限制、审计日志和托管密钥存储。 - 生成的规则和丰富结果属于防御性辅助工具,在生产 SIEM 或端点平台中使用前应进行验证。 ## 验证 前端类型检查和生产构建: ``` cd frontend npx.cmd tsc --noEmit npx.cmd next build ``` 后端语法验证: ``` cd backend py -3.12 -m compileall app ``` ## 项目范围 CyberGuard AI 专注于安全的防御性安全工作流。它不执行恶意软件、不利用系统,也不运行攻击性工具。未来的集成可以添加可选的数据提供商,例如 OTX 或 NVD,同时保留当前以离线优先的分析路径。
标签:AI安全分析, ATT&CK映射, CISA项目, DNS 反向解析, IP 地址批量处理, 威胁情报, 安全报告, 安全运营中心, 开发者工具, 版权保护, 网络映射, 自动化攻击, 速率限制处理