DaneB1914/Breach-Analytics-GenAi-Platform
GitHub: DaneB1914/Breach-Analytics-GenAi-Platform
一个全栈 AI 辅助的违规分析平台,通过 ETL、规则检测、事件关联和 LLM 摘要工作流,将安全遥测数据转化为可审计的事件调查报告。
Stars: 0 | Forks: 0
# Breach Analytics GenAI 平台
这是一个全栈 AI 辅助的违规分析平台,能够接入安全遥测数据,通过 ETL 规范化事件,检测可疑活动,将告警关联为安全事件,并生成可审计的、由 LLM 驱动的调查摘要。
本项目旨在作为一个可直接用于作品集的演示,展示在违规分析、AI/GenAI、ETL 自动化、数据库建模、API 开发以及全栈软件工程方面的工作。
## 为什么这个项目很重要
违规分析团队通常需要审查来自多个系统的日志,识别跨时间段的可疑行为,并将技术证据转化为清晰的调查叙述。本项目对该工作流程进行了端到端的建模。
它通过以下方式为调查团队提供支持:
- 通过可重复的 ETL 和检测工作流减少手动日志审查
- 将多源遥测数据规范化为一致的事件 schema
- 检测可疑行为,如暴力破解登录模式、异常访问、权限提升、可疑下载和端点告警
- 将相关告警关联为包含时间线和支撑证据的事件
- 仅基于存储的事件、告警和事件数据生成可审计的 AI 辅助摘要
- 支持更快的调查、报告以及技术与非技术干系人之间的交接
## 技术栈
- Python
- FastAPI
- PostgreSQL
- SQLAlchemy
- Alembic
- pandas
- pytest
- Docker Compose
- Next.js
- React
- TypeScript
- 具备确定性 mock 模式的、适配 LLM 的摘要工作流
## 架构
```
flowchart LR
A["Security Logs"] --> B["ETL Pipeline"]
B --> C["PostgreSQL"]
C --> D["Detection Engine"]
D --> E["Incident Correlation"]
E --> F["FastAPI API"]
F --> G["Next.js Dashboard"]
E --> H["LLM Summary Module"]
H --> F
```
通俗流程说明:
1. 从 `data/` 加载虚假的安全日志。
2. ETL pipeline 将原始记录和规范化的事件存储在 PostgreSQL 中。
3. 检测规则分析规范化的事件并创建告警。
4. 事件关联将相关告警分组为准备好进行调查的事件。
5. FastAPI 暴露事件、告警、事件、工作流操作和摘要。
6. Next.js 仪表板为分析师提供了一个用于审查工作流的简单界面。
7. 摘要模块生成可审计的执行摘要和技术摘要,在未配置 API key 时使用 mock 模式。
更多细节:[docs/architecture.md](docs/architecture.md)
## 功能
- 涵盖身份验证、VPN、云审计、API 访问和端点告警来源的真实违规数据
- 将混合的 JSON 和 CSV 日志进行 ETL 规范化,转换为通用的安全事件 schema
- 保留原始事件以确保可审计性
- 用于检测可疑违规活动的基于规则的检测引擎
- 将相关告警和证据进行分组的事件关联引擎
- 用于事件、告警、安全事件、工作流执行和摘要的 REST API
- 带有确定性 mock 后备的可选 LLM 风格摘要工作流
- 用于审查工作流结果的 Next.js 仪表板
- Docker 化的全栈本地环境
- 对后端模型、ETL、检测、事件、API endpoint 和摘要进行 pytest 覆盖测试
## 演示工作流
样本数据讲述了一个连贯的违规调查故事:
1. `alex.morgan` 有多次登录失败的尝试。
2. 该用户随后从异常的文档范围 IP 成功登录。
3. 为该用户建立了一个 VPN 会话。
4. 云审计活动显示了可疑的管理员或权限提升行为。
5. API 访问日志显示了异常的数据下载行为。
6. 端点遥测报告了可疑的恶意软件或凭据访问活动。
7. 检测规则根据规范化的事件历史记录创建告警。
8. 事件关联将这些告警分组为一项调查。
9. 摘要工作流使用事件的证据事件 ID 生成可审计的事件摘要。
数据集还包含正常的用户活动和服务账号活动,以便进行对比。
## 使用 Docker 在本地运行
前置条件:
- 已安装 Docker Desktop
- Docker Desktop 正在运行
在 PowerShell 中运行全栈:
```
cd C:\Projects\breach-analytics-genai
Copy-Item .env.example .env -Force
docker compose up --build -d
docker compose exec backend alembic upgrade head
Invoke-RestMethod -Method Post http://127.0.0.1:8000/workflow/run-all
```
打开前端仪表板:
```
http://localhost:3000
```
打开 FastAPI 文档:
```
http://127.0.0.1:8000/docs
```
停止应用:
```
docker compose down
```
可选的完全重置,包括本地 PostgreSQL 卷:
```
docker compose down -v
```
## API Endpoint
关键 endpoint:
- `GET /health`
- `GET /events`
- `GET /alerts`
- `GET /incidents`
- `POST /workflow/run-all`
- `POST /incidents/{incident_id}/summarize`
- `GET /incidents/{incident_id}/summary`
交互式 API 文档可在以下地址获取:
```
http://127.0.0.1:8000/docs
```
PowerShell 示例命令:
```
Invoke-RestMethod http://127.0.0.1:8000/health
Invoke-RestMethod "http://127.0.0.1:8000/events?limit=5"
Invoke-RestMethod "http://127.0.0.1:8000/alerts?severity=high"
Invoke-RestMethod "http://127.0.0.1:8000/incidents?status=open"
Invoke-RestMethod -Method Post http://127.0.0.1:8000/incidents/1/summarize
Invoke-RestMethod http://127.0.0.1:8000/incidents/1/summary
```
## 截图
在发布项目作品集之前需要添加的截图:
| 截图 | 建议文件 | 捕获内容 |
| --- | --- | --- |
| 仪表板概览 | `docs/screenshots/dashboard-overview.png` | 计数、工作流说明和主仪表板布局 |
| 事件列表 | `docs/screenshots/events-list.png` | 包含用户、资产、严重程度和时间戳的规范化事件表 |
| 告警列表 | `docs/screenshots/alerts-list.png` | 包含规则名称和相关证据的检测结果 |
| 事件详情 | `docs/screenshots/incident-detail.png` | 事件元数据、相关告警和相关事件 |
| LLM 摘要面板 | `docs/screenshots/llm-summary-panel.png` | 执行摘要、技术摘要、时间线和证据 ID |
| FastAPI 文档 | `docs/screenshots/fastapi-docs.png` | 展示核心 API endpoint 的 Swagger UI |
截图指南:[docs/screenshots/README.md](docs/screenshots/README.md)
## 测试
在 Docker 内部运行后端测试:
```
docker compose exec backend python -m pytest
```
有用的验证命令:
```
docker compose ps
Invoke-RestMethod http://127.0.0.1:8000/health
docker compose exec backend alembic current
```
## 简历项目符号示例
- 使用 FastAPI、PostgreSQL、SQLAlchemy、Alembic、Next.js、React、TypeScript 和 Docker Compose 构建了一个全栈违规分析平台。
- 开发了一个 ETL pipeline,可接入混合的 JSON/CSV 安全遥测数据,保留原始记录,并将事件规范化为可查询的违规调查 schema。
- 实现了针对暴力破解活动、异常登录行为、权限提升、可疑 API 下载、端点告警和高严重性事件聚类的基于规则的检测。
- 创建了事件关联逻辑,可将相关告警分组、链接支撑证据事件、分配事件严重程度,并生成可读的疑似攻击路径。
- 设计了一个可审计的、适配 LLM 的摘要工作流,具备确定性 mock 模式、证据事件 ID、执行摘要、技术摘要、时间线和控制建议。
## 未来改进
- 身份验证和基于角色的访问控制
- 云部署
- 真实的 SIEM 集成
- 更丰富的可视化和时间线视图
- 分析师笔记和调查评论
- 可导出的 PDF 事件报告
## 项目结构
```
breach-analytics-genai/
backend/ FastAPI app, SQLAlchemy models, Alembic migrations, tests
data/ Fake security telemetry used by the ETL pipeline
docs/ Architecture notes and screenshot guidance
frontend/ Next.js / React / TypeScript dashboard
docker-compose.yml PostgreSQL, backend, and frontend services
.env.example Local Docker environment template
```
标签:C2, DLL 劫持, ETL流水线, 大语言模型, 安全规则引擎, 安全运营, 扫描框架, 测试用例, 版权保护, 网络测绘, 逆向工具