公司动态
超越RAG:图检索与智能体驱动检索在网络安全情报分析中的应用与挑战
1. 从RAG到更远网络安全情报检索的现状与挑战如果你最近在关注大模型应用尤其是企业级知识库的构建那么“RAG”这个词你一定不陌生。它几乎成了连接私有数据和大型语言模型的“标准答案”。简单来说RAG通过将用户问题转化为向量在预先构建好的向量数据库中搜索相关文档片段再把这些片段作为上下文喂给大模型从而生成更准确、更相关的回答。在网络安全威胁情报领域这个模式听起来简直是天作之合分析师每天面对海量的威胁报告、漏洞公告、攻击指标如果能有一个智能助手快速从这些文档中提取关键信息那效率提升将是巨大的。然而当我真正尝试将RAG应用到CTI分析的实际场景中时一系列问题开始浮现。最典型的就是“碎片化”和“关联缺失”。想象一下你问“与APT29相关的TTPs有哪些”一个标准的RAG系统可能会从不同的报告中召回几个包含“APT29”和“TTP”的句子或段落。它可能会告诉你“报告A提到APT29使用鱼叉式钓鱼邮件”“报告B指出APT29常利用CVE-2021-44228漏洞”。这些信息都对但它们像散落的珍珠缺乏一根线将其串联起来。你无法直观地看到APT29的攻击链是如何一环扣一环的也无法快速判断这些TTPs之间的演变关系或者它们与其他威胁组织比如Lazarus Group的TTPs有何异同。这就是传统RAG在CTI领域的核心瓶颈它擅长于基于语义相似度的“点对点”召回但CTI的本质是“图”。威胁行为者、攻击工具、漏洞、基础设施、受害者、攻击手法之间存在着复杂、多维的网络关系。仅仅召回几个相关的文本片段不足以支撑深度的威胁分析和归因。我们需要的不只是“相关文档”更是“关联知识”。因此业界和学术界开始探索“超越RAG”的路径。目前有两个主要方向备受关注基于图的检索和智能体驱动的检索。前者试图将知识本身的结构引入检索过程后者则试图让检索过程本身变得更智能、更具规划和迭代能力。这篇文章我将结合最新的技术动态和实战思考系统性地探讨这两种范式在CTI场景下的潜力、实现路径以及面临的挑战。这不是一篇纯理论综述而是扎根于我们团队在构建内部CTI分析平台时踩过的坑、做过的实验和获得的启发。2. 图检索为CTI知识注入“关系”灵魂为什么图对于CTI如此重要因为威胁情报天生就是关联数据。STIX/TAXII标准的核心就是定义了一套描述威胁实体及其关系的结构化语言。一个简单的攻击事件可能涉及一个攻击者Threat Actor利用一个漏洞Vulnerability开发了恶意软件Malware该软件通过某个域名Domain进行C2通信并最终入侵了位于某个IP段IP的受害主机。这些实体通过“利用”、“通信”、“定位”等关系连接在一起形成一个知识图谱。2.1 图检索的核心思想与架构演进传统的向量检索可以理解为在一个高维空间中寻找“距离”问题最近的点文本块。而图检索则是在一个由节点和边构成的网络中寻找与问题相关的子图或路径。它的优势在于能直接捕获并利用这些预定义的关系。目前图检索在RAG框架中的集成主要有三种模式其复杂度和能力依次递增检索后增强这是最简单的模式。先使用传统的向量检索召回一批相关文本片段然后利用一个预构建的图谱对这些片段中提到的实体进行识别和链接最后将实体及其关联关系作为额外的上下文喂给大模型。例如向量检索找到了关于“SolarWinds供应链攻击”的段落图模块识别出其中的“SUNBURST后门”、“SolarWinds.Orion.Core.BusinessLayer.dll”等实体并从图谱中提取出这些实体与“APT29”、“Cozy Bear”等威胁组织的关系一并补充给大模型。这种方式对现有RAG流水线改动最小但增强效果依赖于实体链接的准确性。基于向量的图检索这种模式更深入一步。它不仅仅把图当作事后补充的“外挂”而是将图的拓扑结构信息也编码成向量。具体来说可以为图谱中的每个节点实体生成嵌入向量这个向量不仅包含节点自身的属性文本还通过图神经网络等技术融合了其邻居节点的信息。在检索时系统既可以在文档向量库中搜索也可以在节点向量库中搜索并将两种结果融合。这相当于让检索系统“理解”了实体在网络中的位置和角色。例如当查询“常用于供应链攻击的恶意软件”时即使“SUNBURST”这个节点的描述文本中没有直接出现“供应链攻击”这个词但由于它在图谱中与“SolarWinds”一个软件供应商节点紧密相连其向量表示也可能与查询高度相关从而被召回。基于图遍历的检索这是最复杂但也可能最强大的模式。它不完全依赖向量相似度而是将用户查询首先解析为一组感兴趣的实体或关系然后在图谱上执行一个遍历或查询例如使用Cypher或Gremlin查询语言。例如查询“展示APT29在2023年针对金融行业攻击中使用的所有漏洞及其对应的漏洞利用工具”。系统会先识别出“APT29”、“金融行业”、“2023年”、“漏洞”、“漏洞利用工具”等关键元素然后将其转化为图查询MATCH (ta:ThreatActor {name:APT29})-[:USED]-(a:Attack)-[:TARGETS]-(s:Sector {name:Finance}), (a)-[:EXPLOITS]-(v:Vulnerability), (a)-[:USES]-(t:Tool {type:Exploitation}) WHERE a.date STARTS WITH 2023 RETURN v, t。查询返回的结果是一个结构化的子图直接回答了问题。这种方式能实现深度、多跳的推理是纯向量检索难以做到的。注意图检索并非要取代向量检索而是与之互补。在实践中混合检索策略往往是更优解。即同时进行向量检索和图检索然后对两组结果进行融合与重排序。融合策略可以是简单的加权打分也可以使用更复杂的交叉编码器模型来判断每个候选结果与查询的整体相关性。2.2 实战中的图构建与检索挑战听起来很美好但构建一个适用于CTI的图谱并实现高效检索挑战重重。挑战一数据获取与知识抽取。高质量的图谱需要高质量的结构化数据。虽然存在MITRE ATTCK、CAPEC等优秀的知识库但它们覆盖的是通用的TTPs框架。具体到每一次攻击活动的详细情报仍然散落在数以千计的PDF报告、博客文章、推特线程和漏洞公告中。从这些非结构化文本中自动、准确地抽取实体和关系是一个经典的NLP难题。我们尝试过使用预训练的命名实体识别模型和关系抽取模型但面对安全领域大量的专业术语和缩写如“Lsass dump”、“Cobalt Strike Beacon”、“Kerberoasting”通用模型的准确率会急剧下降。目前比较可行的方案是“预训练模型领域词典人工规则主动学习”的组合拳并且需要安全分析师进行持续的校验和修正。挑战二图查询的复杂性。基于图遍历的检索模式虽然强大但要求用户的问题能够被清晰地解析为图查询模式。这对于自然语言来说是一个挑战。你需要一个强大的“语义解析器”或“Text-to-Cypher”模型将“告诉我所有和SolarWinds事件相关的东西”这样的模糊查询转化为精确的图查询语句。目前的大模型在此任务上表现尚可但仍有出错的可能且生成的查询可能非常复杂导致检索性能下降。挑战三实时性与可扩展性。CTI是动态变化的新的威胁指标每小时都在出现。图谱需要能够近乎实时地更新。这要求数据抽取、实体链接和图谱更新流水线必须是高效且自动化的。同时当图谱规模增长到数百万个节点和数千万条边时复杂的多跳图遍历查询可能会变得很慢。这就需要精心设计图数据库的索引策略、使用图分区技术或者引入近似查询算法。我们的经验在初期不要追求大而全的图谱。从一个核心场景开始比如“勒索软件攻击链分析”只抽取与此相关的实体和关系如勒索软件家族、利用的漏洞、支付的比特币地址、关联的初始访问方式等。使用Neo4j或Amazon Neptune这样的图数据库并优先实现“检索后增强”和“基于向量的图检索”模式这样可以快速看到价值并迭代优化数据质量。将复杂的“基于图遍历的检索”作为高级功能提供给专业分析师使用。3. 智能体驱动检索让检索过程拥有“大脑”如果说图检索是为知识库增加了结构维度那么智能体驱动检索则是为检索过程本身增加了认知和规划维度。传统的RAG流程是线性的、被动的用户提问 - 检索 - 生成回答。智能体驱动检索将其转变为一个循环的、主动的、有目标的探索过程。3.1 智能体如何重构检索流程一个典型的智能体驱动RAG框架其核心是一个“规划-执行-观察”的循环由一个大模型作为智能体的“大脑”。规划与分解智能体接收到用户查询后并不直接进行检索。它首先会“思考”要回答这个问题我需要哪些信息我可能需要分几步走例如面对查询“评估Log4Shell漏洞对我公司基础设施的潜在影响”一个简单的RAG可能会直接搜索“Log4Shell”和“影响”。而一个智能体可能会制定如下计划步骤1检索Log4Shell漏洞CVE-2021-44228的详细技术细节和受影响版本范围。步骤2检索我公司资产清单中所有可能使用Java组件的系统和应用。步骤3交叉比对步骤1和步骤2的结果识别出有风险的目标。步骤4检索针对Log4Shell的已知攻击模式和在野利用情况。步骤5综合以上信息生成风险评估报告和缓解建议。工具调用与执行智能体被赋予调用各种工具的能力。除了基础的向量检索工具它可能还有专用检索工具用于搜索漏洞数据库如NVD、威胁情报平台如VirusTotal、AlienVault OTX的API。计算与判断工具例如版本号比对工具、网络CIDR范围匹配工具。代码执行工具用于运行简单的脚本比如扫描一个IP列表的开放端口在沙箱环境中。图查询工具即上一章讨论的图检索能力也作为一个工具被智能体调用。智能体根据规划按顺序或并行地调用这些工具收集信息。观察与迭代智能体分析工具返回的结果。如果结果不充分、相互矛盾或者引发了新的问题智能体会调整它的计划发起新一轮的检索或工具调用。例如在步骤2中如果资产清单不完整智能体可能会决定调用一个子域名发现工具进行补充侦查。综合与报告当智能体认为信息已足够或达到迭代次数上限时它会将所有收集到的证据、中间结论进行整合生成最终的回答。这个回答不仅仅是文本可能是一个结构化的报告甚至附带一个简单的仪表板视图。3.2 在CTI分析中的独特价值这种模式对于CTI来说具有变革性潜力因为它模拟了资深安全分析师的工作流。处理复杂、多步骤的查询诸如“对比APT28和APT29在最近一年内针对东欧政府机构的攻击手法差异”这类问题涉及时间范围筛选、实体对比、攻击手法分类和归纳传统RAG几乎无法一次性处理好。智能体可以将其分解为多个子任务逐一攻克。主动进行情报验证与关联智能体在检索到某个可疑IP地址后可以主动调用VirusTotal的API查询该IP的声誉和历史活动或者将其与内部日志进行关联分析验证其是否在近期出现过。生成可操作的情报产出不仅仅是总结信息智能体可以基于检索到的漏洞信息、补丁情况和资产数据直接生成优先级排序的修复工单建议或者编写一段YARA规则用于威胁狩猎。3.3 实现难点与设计考量将智能体引入RAG复杂度是指数级上升的。难点一智能体的规划可靠性。大模型的规划能力并不稳定它可能会制定出逻辑混乱、无法执行的计划或者在执行中陷入死循环。这需要通过精心设计提示词、提供丰富的示例甚至采用更高级的规划算法如Tree of Thoughts来引导和约束。难点二工具使用的安全与效率。智能体可以调用外部API这带来了巨大的风险。必须建立一个严格的“工具沙箱”对智能体可调用的工具、传入的参数进行严格的审查和过滤防止其执行危险操作如删除数据、发起网络攻击。同时工具调用尤其是网络API调用可能很慢需要设计超时、重试和并发控制机制。难点三幻觉与事实核查。智能体在综合信息时大模型本身可能产生幻觉捏造不存在的工具调用结果或错误解读数据。必须在最终输出前引入一个“事实核查”环节例如要求智能体为关键结论引用具体的工具输出片段作为证据。我们的设计思路从一个目标明确的“垂直智能体”开始而不是一个万能的分析师。例如先构建一个“漏洞影响评估智能体”它的工具集是固定的内部CMDB API、漏洞库API、简单的版本比对函数它的任务规划范围也是相对受限的。通过在这个小场景下打磨智能体的规划、执行和验证流程积累经验再逐步扩展到更复杂的场景。使用LangChain、LlamaIndex等框架可以快速搭建原型但生产级系统需要更健壮的状态管理、错误处理和审计日志。4. 图与智能体的融合下一代CTI检索架构展望单独使用图检索或智能体驱动检索都能带来显著提升。但未来的高价值CTI系统必然是两者的深度融合。我认为一个理想的架构应该是“智能体作为指挥官图数据库作为知识中枢向量数据库作为内容仓库”。在这个架构中智能体负责理解用户意图、制定复杂查询计划、协调多方工具。它是整个系统的“大脑”和“工作流引擎”。图数据库存储结构化的威胁实体和关系知识。它是系统的“关联记忆”和“推理引擎”。智能体通过调用图查询工具从中提取复杂的关联路径和模式。向量数据库存储非结构化的原始文档片段、报告文本。它是系统的“细节记忆”和“内容仓库”。当智能体从图谱中找到感兴趣的实体后可以通过向量检索快速定位到所有提及该实体的原始文本获取详细背景。一个融合的工作流示例如下用户提问“溯源一下我们上周捕获的恶意样本evil.exe看看它可能和哪些已知攻击活动有关。”智能体规划调用文件分析工具提取evil.exe的哈希值MD5/SHA256、导入函数表、字符串等静态特征。调用威胁情报API工具使用哈希值进行查询获取初步的标签和关联信息。调用图查询工具将上一步得到的威胁组织、恶意软件家族等实体作为入口在图谱中寻找与之关联的其他攻击活动、利用的漏洞、基础设施等。调用向量检索工具针对图谱查询结果中发现的每一个关键攻击活动名称检索相关的详细分析报告。综合所有信息生成溯源分析报告并高亮显示证据链。系统执行智能体按计划调用各个工具。图查询工具快速厘清了evil.exe所属的恶意软件家族与另外三起攻击活动共享了C2基础设施向量检索工具则找出了安全厂商对这三起活动的详细分析博文。智能体将所有这些信息整合形成了一份远比简单搜索“evil.exe”更全面、更具洞察力的报告。实现这种融合架构需要解决跨模态检索结果的统一排序、智能体对混合结果的理解与综合、以及整个系统的延迟控制等工程挑战。但毫无疑问这代表了CTI智能检索的未来方向。5. 评估与选型如何为你的CTI场景选择合适的技术面对图检索和智能体驱动检索这些新范式我们不应该为了技术而技术。正确的做法是基于具体的CTI应用场景和需求来评估和选型。5.1 评估维度可以从以下几个核心维度进行考量维度传统向量RAG图增强RAG智能体驱动RAG图智能体融合RAG核心优势实现简单对非结构化文本检索效果好适合问答和内容总结。能发现实体间的隐藏关联支持多跳推理回答更具逻辑性和结构性。能处理复杂、多步骤的查询具备自主规划和工具使用能力自动化程度高。兼具深度关联推理和复杂任务自动化能力能应对最复杂的分析场景。适用查询类型“什么是供应链攻击”“Log4Shell漏洞的CVSS评分是多少”“展示APT29使用的所有TTPs及其关联的恶意软件。”“找出与这个IP地址关联的所有攻击活动。”“评估这个漏洞对我司资产的影响。”“对比这两个威胁组织在过去半年的活动差异。”“全面溯源这个入侵事件并生成包含IOC和TTP的威胁报告。”数据准备复杂度低。只需文档切片和向量化。高。需要构建和维护知识图谱涉及实体识别、关系抽取、数据融合。中到高。需要封装和接入各种工具API设计智能体的规划和验证逻辑。非常高。需要同时构建图谱、封装工具并设计两者协同的复杂流程。实施与维护成本低。技术栈成熟开源方案多。中。需要图数据库和NLP流水线对领域知识要求高。中到高。需要熟练使用智能体框架并持续维护工具API的可用性。高。需要跨领域的专家团队系统架构复杂。回答的可解释性较低。通常只能提供引用片段难以解释“为什么”召回这些片段。较高。可以展示实体关系路径直观解释结论的来源。可变。可以要求智能体输出思考链但可能冗长。高。可以结合关系路径和工具调用链提供多重证据和推理过程。5.2 选型建议与实践路线图基于以上评估我的建议是起步阶段/简单问答场景如果你的需求仅仅是基于内部威胁报告库进行快速问答和摘要传统向量RAG仍然是性价比最高的选择。使用成熟的框架如LlamaIndex或LangChain搭配Chroma、Milvus等向量数据库可以快速搭建出可用系统。重点应放在文档预处理清洗、切片和检索策略混合搜索、重排序的优化上。中级阶段/关联分析场景当你需要从情报中挖掘关联、绘制攻击图谱、回答涉及多实体关系的问题时必须引入图增强RAG。可以从“检索后增强”模式开始利用现有的ATTCK等结构化数据作为初始图谱快速体验价值。随后再逐步建设自动化的情报抽取流水线向“基于向量的图检索”模式演进。Neo4j因其丰富的生态和Cypher查询语言的易用性是此时一个不错的选择。高级阶段/自动化分析场景如果你的目标是构建一个能替代部分初级分析师工作的自动化系统处理复杂的调查和评估任务那么智能体驱动RAG是方向。从一个工具集有限、目标明确的“专项智能体”开始如漏洞情报智能体。使用LangChain或AutoGen等框架来构建智能体的规划与执行能力。务必重视工具调用的安全隔离和审计日志。未来方向/综合研判平台对于大型安全运营中心或威胁情报团队最终需要向图与智能体的融合架构发展。这需要顶层设计将图数据库作为核心知识资产来建设并围绕它设计一系列专用的智能体。这可能是一个长期投入的项目但建成后将成为强大的力量倍增器。无论选择哪条路径都要牢记技术是手段而不是目的。最终衡量成功的标准是能否让安全分析师更快、更准、更省力地获取洞察从而更好地保护所在的组织。在探索这些超越RAG的先进技术时保持小步快跑、持续验证价值的敏捷思路远比追求一个完美但遥不可及的宏大架构更为重要。