JKKKKK44
← LIBRARY / 返回知识图书馆ENTRY / THREATMIND-ARCHITECTURE
PROJECT NOTES

ThreatMind 架构笔记:从公开威胁情报到本地分析

记录 ThreatMind 如何把多源公开情报、确定性事实层、本地 RAG、知识图谱与受限协同分析连接成可追溯链路。

MATURITY
GROWING / 生长中
READING
约 2 分钟
UPDATED

ThreatMind 的核心目标不是让大模型“知道更多安全知识”,而是把公开威胁情报整理成有来源、可计算、可检索、可解释的安全上下文。系统将事实计算与生成式解释分开,避免模型修改 CVE、优先级或 ATT&CK 映射等基础事实。

七类公开来源进入统一入口

当前同步框架覆盖 NVD、CISA KEV、MITRE ATT&CK、GitHub Advisories、Red Hat、arXiv AI Security 与 NIST CSRC Drafts。不同来源的数据粒度和更新方式并不相同,因此采集层需要保留来源标识、时间与原始引用,而不是立即压成一段无出处文本。

统一 Source Registry 让后续检索、报告和引用校验使用同一套来源身份。

确定性事实层先于 AI

数据库与 Python 服务负责结构化事实和确定性规则。Priority Score 由可解释公式计算:CVSS 占主要权重,KEV、勒索关联和近期进入 KEV 提供附加分。相同输入应得到相同结果,模型不能覆盖这个分数。

Public sources
  → normalized facts
  → deterministic enrichment
  → Security Context
  → retrieval / graph / bounded analysis
  → cited report

本地 RAG 负责补充上下文

本地检索使用 bge-small-zh-v1.5 生成向量,并由 FAISS 建立索引。Evidence Fusion 将结构化事实与检索证据组合,但引用仍回到 Source Registry。这样可以让中文问题命中相关材料,同时保留原始来源供复核。

RAG 不是事实数据库的替代品。它更适合寻找相关段落和背景,而 CVE 标识、CVSS 数值与 KEV 状态仍应来自结构化层。

知识图谱区分事实边与语义边

图谱从 Security Context 派生。确定性事实边与模型建议的语义关系需要明确区分,否则可视化会把推测展示成事实。ATT&CK v19.2 数据保存在本地,事件映射遵循确定性逻辑,使相同事件输入能够复现相同战术技术关系。

协同分析受到步数和工具限制

自适应 Planner 可以组织多个角色,但最多执行十步,并且角色只能调用限定工具。执行轨迹被保存,LLM 不可用时系统应降级,而不是让整个事实查询链失效。

这种约束解决的是可控性问题:每一步做了什么、调用了什么、基于哪些证据,都应该能被报告层解释。

报告是证据链的出口

系统输出结构化报告与 Markdown,引用校验和证据缺口也属于结果。FastAPI 提供后端接口,SQLAlchemy 与 SQLite 保存数据;React、TypeScript、Vite 和 React Flow 构成管理与图谱界面,Docker Compose 用于组合运行环境。

项目当前强调“工程证据”:来源覆盖、同步、富化和流程完成度可以自动验证;没有人工金标准的数据,不应被包装成准确率声明。这个区分让架构说明保持真实,也为后续评测留下清晰入口。