Vansh150705/ThreatBrain

GitHub: Vansh150705/ThreatBrain

一个多租户 AI 安全运营平台,通过七个协作式 AI Agent 在十余秒内完成安全告警的分类、调查和响应,同时保留人工审批与不可篡改审计链。

Stars: 1 | Forks: 0

# 🛡️ ThreatBrain **神经 SOC - AI Agent 汇聚以进行防御** 一个已投入生产环境的多租户 AI 驱动的安全运营平台。七个专门的 AI Agent 协同工作,端到端地对安全告警进行分类、富化、调查和响应——将分析师数小时的工作转化为 14 秒的自动化流水线。 ## 🎯 问题所在 现代 SOC 中的安全分析师正淹没在告警之中。一名典型的 Tier-1 分析师在每个班次中会看到数千个事件,其中 95% 是误报,但每一个都需要检查。代价是实实在在的: - **倦怠** :- 分析师平均工作 18 个月后就会辞职 - **告警疲劳** :- 真正的威胁在嘈杂的信息中被遗漏 - **响应缓慢** :- 等到手动调查完一次攻击时,攻击者已经进行了横向移动 ## ⚡ 解决方案 ThreatBrain 在 15 秒内将一个告警转化为完整的调查——且无需将人类排除在外。七个专门的 AI Agent 在每个事件上进行协作: 1. **分类** :- 使用 MITRE ATT&CK 对严重程度进行分类 2. **威胁情报** :- 通过 AbuseIPDB 富化 IP 3. **调查** :- 与近期的威胁进行关联,并分组为事件 4. **响应** :- 推荐补救手册(需要人工批准) 5. **取证** :- 构建证据保管链时间线 6. **合规** :- 评估 GDPR / PCI-DSS / SOC 2 义务 7. **狩猎** *(主动)* :- 生成威胁狩猎假设 每个决策都会记录在由 Postgres 触发器强制执行的**只追加审计跟踪**中,因此当这些证据在法庭上或向监管机构出示时,它是可验证的。 除了流水线之外,分析师还可以获得一个 **Ask the SOC 副驾驶**,它能够基于自己的数据回答自然语言问题;一个**人在环批准队列**,由管理员对每一个建议的操作进行签字确认;以及一键式**事件报告导出**,生成带有完整证据保管链的 Markdown 档案。任何人都可以通过自助注册在大约 8 秒内创建自己的**完全隔离的工作区**,无需电子邮件确认。 ## 🏗️ 架构 ``` flowchart TD Alert([🚨 Security Alert
SIEM · firewall · cloud audit log]) Frontend[🖥️ React Frontend
Vercel] Auth[🔐 Supabase Auth
JWT · HS256] subgraph Backend["⚙️ FastAPI Backend  ·  Hugging Face Spaces"] Orchestrator[🎯 Orchestrator] Triage[🚨 Triage Agent
MITRE ATT&CK] Intel[🌐 Threat Intel Agent
AbuseIPDB] Invest[🔬 Investigation Agent
Correlation] Response[⚡ Response Agent
Playbooks] Forensics[🕵️ Forensics Agent
Timeline] Compliance[📋 Compliance Agent
GDPR · PCI-DSS · SOC 2] Hunt[🎯 Hunt Agent
Proactive] end subgraph Data["💾 Supabase Postgres"] Tables[(Threats · Incidents · Agents)] RLS[/🔒 Row-Level Security
tenant isolation/] Audit[/📜 Append-only audit log
Postgres triggers/] end LLM[🤖 Groq · LLaMA 3.3 70B
JSON mode] Alert ==> Orchestrator Frontend <==> Backend Frontend <==> Auth Orchestrator --> Triage Triage --> Intel Intel --> Invest Invest --> Response Invest --> Forensics Invest --> Compliance Hunt -.proactive.-> Tables Triage -.->|prompt + JSON| LLM Intel -.->|prompt + JSON| LLM Invest -.->|prompt + JSON| LLM Response -.->|prompt + JSON| LLM Forensics -.->|prompt + JSON| LLM Compliance -.->|prompt + JSON| LLM Hunt -.->|prompt + JSON| LLM Triage --> Tables Intel --> Tables Invest --> Tables Response --> Audit Forensics --> Tables Compliance --> Tables Tables --- RLS Audit --- RLS classDef agent fill:#eef2ff,stroke:#6366f1,stroke-width:1.5px,color:#1e1b4b classDef store fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#451a03 classDef llm fill:#fdf4ff,stroke:#a855f7,stroke-width:1.5px,color:#3b0764 classDef edge fill:#f1f5f9,stroke:#475569,stroke-width:1.5px,color:#0f172a class Triage,Intel,Invest,Response,Forensics,Compliance,Hunt,Orchestrator agent class Tables,RLS,Audit store class LLM llm class Alert,Frontend,Auth edge ``` 每个 Agent 都是一个轻量级的、基于 prompt 工程的服务,它: - 接受 **Pydantic 验证的输入** - 以 **JSON 模式**调用 Groq (LLaMA 3.3 70B),并使用严格的输出 schema - 持久化结果,并包含完整的**输入/输出/延迟/token 遥测数据** - 将每个决策记录到审计跟踪中 编排器在每个事件上链接六个响应式 Agent。第七个 Agent 主动按计划运行。 ## 🛠️ 技术栈 | 层级 | 技术 | |---|---| | **Frontend** | React 19 · TypeScript · Vite · Tailwind v4 · shadcn/ui · Motion · Zustand | | **Backend** | FastAPI · Python 3.11 · Pydantic v2 · LangChain · Tenacity | | **LLM** | Groq API · LLaMA 3.3 70B · JSON 模式结构化输出 | | **Database** | Supabase (Postgres) · 行级安全 · Postgres 触发器 | | **Auth** | Supabase Auth · JWT (HS256) · 通过 JWT 声明实现多租户 | | **Threat Intel** | AbuseIPDB | | **Deploy** | Vercel (前端) · Hugging Face Spaces 配合 Docker (后端) · Supabase (数据库 + 认证) | ## 🔐 安全架构 安全不是事后添加的功能,它是设计的核心。 - **多租户隔离** :- 每个表都有一个 `organization_id`。Postgres RLS 策略将每个查询绑定到 JWT 的 `organization_id` 声明上,因此即使后端代码有 bug,跨租户数据也无法泄露。 - **Prompt 注入防御** :- 三个层级:输入时的 Pydantic schema 验证、带有严格输出 schema 的 LLM JSON 模式,以及每个 Agent 的最小数据库权限。模型没有可以通过其进行违规操作的自由格式文本通道。 - **只追加审计日志** :- Postgres 触发器在物理上拒绝了对 `audit_logs` 的 `UPDATE` 和 `DELETE` 操作。即使是 service role key 也无法修改历史记录。 - **操作的人在环机制** :- 响应 Agent 推荐补救措施。实际操作需要管理员角色 + 关闭 dry-run 标志 + 每个剧本的授权。在任何破坏性操作运行之前,都要经过四个独立的检查。 ## 🚀 在线演示 **URL:** https://threat-brain.vercel.app **访问:** 在 `/signup` 注册以获取带有种子数据的独立隔离工作区,或者从注册页面使用一键演示通道。 可以尝试的操作: 1. **浏览威胁** :- `/threats` 显示了一组模拟检测结果,包含严重程度、MITRE 代码和置信度分数 2. **打开一个事件** :- `/incidents/INC-ACT001` 是一个模拟的 APT29 入侵,包含杀伤链、归属、4 个关联威胁和生命周期时间戳 3. **运行流水线** :- 从控制面板中,点击 `✨ Trigger pipeline`,选择一个场景(例如“S3 bucket made public”),并实时观察所有六个 Agent 的工作。端到端大约需要 15 秒。完成后,数据库中会出现一个全新的威胁和事件。 4. **询问 SOC** :- 点击 `✨ Ask the SOC` 按钮(任何控制台页面的右下角),并提出诸如“总结最严重的事件”或“哪些威胁来自俄罗斯?”等问题。副驾驶仅根据您自己组织的数据进行回答。 5. **授权响应** :- `/approvals` 是人在环队列。响应 Agent 推荐剧本;管理员或所有者批准或拒绝每一个剧本。每个决策都会写入审计跟踪。 6. **查看审计跟踪** :- `/audit` 是每个 Agent 决策和人类操作的只追加日志。UPDATE 和 DELETE 在数据库级别被拒绝。 7. **导出档案** :- 在任何事件页面上,点击 `Export report` 下载 Markdown 事件档案,其中包含归属、关联威胁、响应授权和完整的证据保管链。 ## 📂 仓库结构 ``` ThreatBrain/ ├── backend/ # FastAPI service + AI agents │ ├── app/ │ │ ├── agents/ # 7 specialized agents (triage, intel, investigation, ...) │ │ ├── api/v1/endpoints/ # FastAPI routes │ │ ├── services/ # Orchestrator + Supabase client │ │ ├── schemas/ # Pydantic models │ │ └── core/ # Config, security, logging │ ├── scripts/ # Dev utilities (JWT generators, seed scripts) │ ├── Dockerfile # Hugging Face Spaces deploy │ └── requirements.txt ├── frontend/ # React + Vite SPA │ └── src/ │ ├── pages/ # Dashboard, Threats, Incidents, Agents │ ├── components/ # SeverityBadge, PipelineProgress, TriggerPipelineDialog, ... │ ├── lib/api/ # Typed API client │ └── store/ # Zustand (user + UI state) ├── database/migrations/ # SQL, applied manually in the Supabase SQL editor ├── DEPLOY.md # Deployment topology (Vercel + HF Spaces + Supabase) └── README.md ``` ## 🚢 部署 前端 和后端 从两个不同的 git 远程仓库进行部署,并且数据库迁移是手动应用的。后端更改在推送到 **同时** `origin` 和 `space` 远程仓库之前不会生效。有关完整拓扑、推送检查清单以及症状 → 原因对照表,请参阅 **[DEPLOY.md](DEPLOY.md)**。 ## 🧠 构建此项目时的经验总结 - **多 Agent 设计胜过单个巨型 LLM。** 七个带有严格 schema 的专注 Agent,在准确性和可调试性方面都优于单个“包揽一切”的 prompt。 - **检索和结构比模型大小更重要。** 在 70B 模型上使用 Pydantic JSON 模式产生的输出,比大型模型的自由格式文本更可靠。 - **安全是一个数据库问题。** RLS 和 Postgres 触发器比任何数量的应用层代码都更能保障安全。 - **可观测性是基础。** 记录每次 Agent 运行的输入、输出、延迟和 token 不是可选的,这是您调试 AI 系统的方式。 ## 📈 状态 **已投入生产环境且功能完备。** 前端、后端 和数据库 均已上线并完成了端到端验证。完整的 Agent 流水线、自助式多租户注册、Ask the SOC 副驾驶、人在环批准队列、只追加审计跟踪、运行历史记录、实时攻击地图以及事件报告导出功能均已在生产环境中正常工作。欢迎提供反馈、做出贡献,以及探讨安全领域的 Agentic AI。 由 [Vansh Mahajan](https://github.com/Vansh150705) 构建 ## 📄 许可证 MIT — 详见 [LICENSE](./LICENSE)。
标签:AV绕过, FastAPI, React, Syscalls, 威胁调查, 安全运营, 扫描框架, 自动化分诊, 自动化攻击, 请求拦截, 逆向工具