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流水线, 大语言模型, 安全规则引擎, 安全运营, 扫描框架, 测试用例, 版权保护, 网络测绘, 逆向工具