bnssaanirudh/TrustGraph

GitHub: bnssaanirudh/TrustGraph

TrustGraph 结合图数据库、图神经网络和 Agentic AI,将基础设施建模为动态拓扑,帮助安全团队用自然语言追踪第三方威胁的攻击路径和影响范围。

Stars: 0 | Forks: 0

# TrustGraph:Agentic 第三方风险与威胁狩猎平台 TrustGraph 是一个先进的安全平台,旨在检测、分析和可视化源自第三方供应商集成的复杂威胁。通过结合图数据库、实时 SIEM 集成和自主 AI agent 的强大功能,TrustGraph 为您提供了前所未有的攻击面可见性和自动化威胁狩猎能力。 ## 问题所在 现代组织严重依赖于由第三方供应商、API 和外部服务组成的互联网络。这种互联性极大地扩大了攻击面。当受信任的第三方遭到入侵时,攻击者可以利用这些合法的连接进行横向移动、提升权限并窃取数据。 传统的安全工具和 SIEM 在孤岛中运行。它们基于孤立的事件生成静态告警,这使得安全运营中心 (SOC) 团队极难: 1. 通过多个跳数追踪攻击的源头。 2. 了解受损供应商的“影响范围 (blast radius)”。 3. 应对在分散数据源中编写复杂查询所需的手动工作量。 其结果是告警疲劳、事件响应延迟,以及隐藏的攻击路径一直未被发现,直到为时已晚。 ## 解决方案 TrustGraph 从根本上改变了安全团队处理第三方风险和威胁狩猎的方式。TrustGraph 不再查看扁平的日志,而是将您的整个基础设施(供应商、主机、容器、用户和数据库)建模为动态的 **Graph Topology**。 结合 **Agentic AI Pipeline (CARAG)**,TrustGraph 允许分析人员使用纯粹的自然语言执行复杂的多阶段威胁狩猎。 ### 工作原理: 1. **Agentic 翻译**:分析人员用自然语言表达他们的意图(例如,*“检测从 VendorX 到客户数据库的横向移动”*)。AI 将此意图转换为优化的 SPL (Search Processing Language) 查询。 2. **实时 Splunk 集成**:TrustGraph 通过 Model Context Protocol (MCP) 查询您的 Splunk 实例,以检索相关的遥测数据。 3. **图关联**:摄取的日志被映射到 Neo4j 图数据库中,在实体(节点)之间建立关系(边)。 4. **风险评分**:TrustGraph 分析图拓扑以计算异常分数、评估潜在的影响范围,并根据它们与核心资产 (crown-jewel assets) 的接近程度对关键威胁进行优先级排序。 ## 核心功能 - **自然语言威胁狩猎**:无需成为 SPL 专家即可查询复杂的攻击路径。AI 负责处理查询的构建和优化。 - **基于图的可视化**:准确查看供应商如何连接到您的内部服务。直观地追踪横向移动和权限提升路径。 - **自动化 SIEM 摄取**:通过专用的 MCP Server daemon 与 Splunk 无缝集成,确保您的图始终拥有最新的遥测数据。 - **高韧性架构**:内置的回退机制确保如果 API 连接失败,系统可以平滑地切换到本地种子数据,以维持分析能力。 - **动态风险评分**:风险不仅仅在于事件本身;还在于它发生在网络的*什么位置*。TrustGraph 将拓扑重要性纳入考量,以对告警进行优先级排序。 ## 架构 系统架构由实时数据摄取层、图数据库映射层、GNN 风险传播引擎、Agentic 决策/狩猎循环以及用户可视化仪表板组成。 ``` graph TB subgraph "Data Ingestion & Querying" A[Splunk Enterprise / Cloud] <-->|Telemetry logs| B[Splunk MCP Server] end subgraph "Backend Core (FastAPI)" B <-->|MCP Protocol| C[FastAPI Main Application] C -->|Idempotent writes| D[(Neo4j Graph Database)] D -->|Read graph state| E[PyTorch Geometric GAT Engine] E -->|Write risk scores| D C <-->|Orchestrates Threat Hunt| F[LangGraph CARAG Pipeline] F -->|Generate SPL| B end subgraph "CARAG Pipeline Detail" F1[Planner Node] --> F2[Retriever Node] F2 --> F3{Evaluator Node} F3 -->|Score < 0.85| F4[Refiner Node] F4 --> F2 F3 -->|Score >= 0.85| F5[Mitigator Node] end subgraph "Frontend Dashboard (Next.js)" G[Next.js App Router UI] <-->|Fetch API Data / REST| C G1[ReactFlow Graph View] <--> G G2[Operations Telemetry] <--> G end classDef database fill:#1d2a44,stroke:#3b82f6,stroke-width:2px,color:#fff; classDef model fill:#2d1b4e,stroke:#8b5cf6,stroke-width:2px,color:#fff; classDef web fill:#0a1c2a,stroke:#10b981,stroke-width:2px,color:#fff; class D database; class E model; class G,G1,G2 web; ``` ### 架构组件层: 1. **Splunk MCP (Model Context Protocol)**:向 agent 公开搜索和日志检索功能,将威胁狩猎意图转化为优化的 Splunk Processing Language (SPL) 查询。 2. **Neo4j 数据库**:存储网络拓扑(Service、Host、Container、Database、User 节点及其交互),以维护基础设施的状态化映射。 3. **PyTorch Geometric GAT 引擎**:运行双层 Graph Attention Network (`GATConv`) 层,使用注意力系数评估跨相邻节点的相对威胁传播概率。 4. **LangGraph CARAG Pipeline**:编排一个迭代的自我修正循环,对生成的查询进行相关性评分。如果缺少细节或目标坐标不准确,agent 会进行优化并重新执行。 5. **Next.js 仪表板**:使用 ReactFlow 渲染动态拓扑,并提供控件用于探索威胁节点、调查活跃的违规状态以及执行手动查询。 ## 开始使用 ### 前置条件 - Python 3.10+ - Neo4j 数据库(本地或 AuraDB) - Splunk Enterprise 或 Splunk Cloud(已配置 MCP Server) ### 设置 1. **克隆仓库**: git clone https://github.com/bnssaanirudh/TrustGraph.git cd TrustGraph 2. **配置环境变量**: 在您的环境或 `.env` 文件中设置 Neo4j 和 Splunk 的连接字符串。 SPLUNK_MCP_HOST=localhost SPLUNK_MCP_PORT=8080 SPLUNK_INDEX=trustgraph_logs 3. **安装后端依赖**: cd backend pip install -r requirements.txt 4. **运行 MCP Server 和 FastAPI 应用**: # Terminal 1: 启动 Splunk MCP Server daemon python splunk_mcp_server.py # Terminal 2: 启动 FastAPI 后端 uvicorn main:app --reload 5. **启动前端**: 导航到 `frontend` 目录,安装依赖,并根据所使用的特定前端框架启动开发服务器。 ## 贡献 欢迎贡献!请随时提交 Pull Request 或开 Issue 反馈任何 bug 或功能请求。 ## 许可证 本项目基于 MIT 许可证授权。
标签:PE 加载器, XXE攻击, 图神经网络, 安全, 攻击路径分析, 超时处理, 逆向工具