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 地址批量处理, 威胁情报, 安全报告, 安全运营中心, 开发者工具, 版权保护, 网络映射, 自动化攻击, 速率限制处理