蓝螺旋:自主OSINT研究平台的技术架构与实现

本文详细介绍了Blue Helix平台的技术架构,这是一个基于多智能体系统的开源情报收集平台,整合了OpenAI Agents SDK、Playwright浏览器编排、大型语言模型、光学字符识别和遗传算法,实现自动化威胁情报收集与分析。

蓝螺旋:自主OSINT研究平台

引言

随着数字威胁在数量和复杂性上的加速增长,以及AI赋能威胁行为者开发进一步加深现有的不对称性,人类分析师往往难以及时合成海量情报。现有的开源情报(OSINT)调查方法通常依赖手动报告合成(定位、阅读、操作化),无法轻松扩展以应对快速演变的威胁。与此同时,全行业对“代理”对话的激增让一些防御者感到赋能,而另一些则对炒作周期感到失望。毫无疑问,自主工作流将在对手和防御者参与古老的网络安全猫鼠游戏方式中引入重大变革。为此,我们希望本文能帮助防御者操作化代理概念,以加强其安全和业务运营。

我们介绍了蓝螺旋(Blue Helix),一个代理式OSINT平台,旨在通过智能搜索网络、摄取威胁报告、提取最显著数据以支持Infoblox的OSINT需求,并调整其搜索策略,来减轻手动收集和合成压力。这个多智能体系统使用OpenAI的Agents SDK、Playwright浏览器编排、多个大型语言模型(LLMs)、光学字符识别(OCR)以及受生物进化原理启发的遗传算法构建。蓝螺旋通过实时绘制和审查关键性能指标来确定其操作模式,这些指标被解释为决定是探索新的搜索词以进行发现,还是通过使用遗传算法利用先前成功的查询。这种进化学习过程代表了自主威胁情报研究中的重大创新,融合了信息收集的艺术和科学,同时平衡了广泛探索与聚焦已验证方法的利用。结果是一个大规模操作的系统,同时提供针对Infoblox战略目标和更广泛网络安全目标的定制见解。

技术架构

图1. 蓝螺旋技术架构

多智能体环境

我们首次使用OpenAI的Agents SDK进行实验证明非常富有成果。根据OpenAI的说法,Agents SDK“使您能够以轻量级、易于使用的包构建代理式AI应用,具有极少的抽象”,我们发现它兑现了这一承诺。我们特别印象深刻,尽管不完全惊讶,的是代理明显优化以与我们使用的OpenAI模型(o3-mini和4.1)集成。

蓝螺旋包含一个多智能体环境,但不是在典型意义上每个代理在严格分层或分散设置中具有完全自主权。相反,蓝螺旋既利用又约束概率推理和行动(ReAct)范式,捕捉了两全其美:在需要一致性的地方可重复结果,在适应性最有益的地方代理决策。这种约束在架构中体现为明确定义的管道,具有特定的“岔路口”,其中代理决策发挥作用,例如基于性能评估确定操作模式(探索与利用)。在管道的各种子过程中进一步利用自主权,例如基于主动网络搜索观察精炼搜索查询,或过滤网络结果以保持目标对齐并避免过度负担后续调查步骤。

最后,并非每个代理都必须拥有广泛工具来为系统贡献显著价值。相反,我们发现明确定义的工具范围和分隔的代理式子组件保留了高度任务特定创造力,同时也产生更易于故障排除且更适合生产环境的可预测结果。蓝螺旋中的一些代理在没有外部工具的情况下操作,而是利用SDK的代理类进行迭代推理循环,培养比仅提示LLM获取结果更精细的输出。

操作模式与自适应智能

蓝螺旋代表了自动化OSINT收集的重大进步。其核心,系统实现了一种新颖的双模式操作框架,动态平衡探索和利用策略以优化搜索效果。这种方法解决了自动化研究系统中的基本挑战:高效导航发现新信息空间和精炼已知生产路径之间的权衡。

代理在两种不同模式之间选择操作:基于目标的生成(探索)和遗传算法(利用)。在基于目标的生成模式中,系统强调搜索策略的多样性和广度,基于预定义目标生成语义多样的查询,以探索信息景观。这种模式的特点是能够摆脱局部最优,并发现威胁情报空间中可能包含有价值妥协指标(IOCs)的全新区域。

图2. 蓝螺旋预定义目标

基于目标的生成(探索)模式的核心是查询规划代理,一个将用户目标转化为一组简短、有针对性的网络查询的模块——通常25到30个,每个少于四个词。通过利用代理类的内在推理,查询规划器系统地重新表述、精炼和多样化这些基于目标的查询,实现跨所需信息空间的探索性覆盖。

图3. 将目标解构为网络查询的指令

相反,遗传算法模式实施进化选择原则以精炼和优化已证明有效的搜索词。这种以利用为中心的方法利用基于IOC产量和搜索指标的适应度评分,通过选择、交叉和变异操作迭代演化搜索查询,以最大化从生产性术语中提取信息(见遗传算法部分)。

一个 distinguishing 属性是蓝螺旋通过自主模式选择进行自我优化的能力。通过持续分析性能指标(包括IOC发现率、适应度评分和搜索结果模式),系统采用趋势分析机制来确定何时在探索和利用之间切换。当代理检测到当前模式收益递减时,它将选择切换模式。如果代理看到它正在最优执行,它将继续当前模式直到性能耗尽。

图4. 蓝螺旋分析其性能并选择继续利用模式

遗传算法

图5. 遗传算法架构

适应度评分

最初系统以探索模式开始,基于目标生成搜索词种群,然后评分每个词的适应度。这些词中的每一个都通过“GeneticAlgorithm”类中的“calculate_fitness_score”方法运行,该方法评估诸如搜索结果数量(代理过滤后)和可观察物或IOCs的存在等方面。适应度评分的目标是判断搜索词种群中哪个显示了定位高价值信息的最潜力。

一旦种群被评分,蓝螺旋将这些个体词条目记录到JSON,确保性能指标和相关链接被保留。蓝螺旋将新发现与先前数据合并(达到定义的日期阈值),重新计算适应度评分和相关数据。这种方法提供了滚动历史,有助于精炼整体搜索策略;旧条目被替换,而新鲜或频繁选择的搜索词被迭代改进以更好地反映其最新性能。

图6. 代理衍生搜索词按适应度评分可视化

锦标赛选择

一旦性能下降,代理将决定切换操作模式,采用遗传算法选择高性能术语并优化其搜索努力。“GeneticAlgorithm”类包含一个锦标赛选择方法,一种方法其中搜索词的随机子集基于适应度“竞争”。每个锦标赛获胜者进入下一阶段,确保一致强大或有前途的搜索词冒泡到顶部。这个重复过程过滤掉较少生产性的术语,并提升那些产生更多IOCs和更高保真度威胁数据的术语。最后,蓝螺旋按适应度评分排序锦标赛获胜者池,并选择最性能的父母指导后续搜索。

交叉和变异

在蓝螺旋遗传算法的后续阶段,系统通过从父种群中取一个种子搜索词,然后随机选择另一个父术语来“结合”来启动一种基本形式的交叉。这种简单连接有效地将两个高评分候选合并成一个新序列,捕捉两者的元素。虽然这种简单配对方法可能不属于经典遗传算法中更高级交叉策略,但它 nonetheless 代表了一种融合信息丰富搜索词并放大发现新情报线索可能性的直接手段,经过代理变异后。

在此交叉过程之后,系统进入变异步骤。相关代码片段(如下)说明了包含专门的“Mutation Auto Browser Agent”,它获取新组合的术语并根据从自然语言转换中提取的指令更改它:重新排列单词、替换同义词或修改形态形式(例如,将“monitor”变为“monitoring”)。这确保即使两个父术语的核心思想保留,新形成的查询可以探索相邻领域或维度扩展,否则可能未被发现。

图7. 变异提示

一旦变异,这些新查询通过系统的搜索例程运行,并记录它们的性能(就结果搜索命中、带有IOCs的页面或其他有意义的信号而言)。这些数据随后反馈到适应度评分函数,关闭循环并允许蓝螺旋迭代改进其搜索词。经过多次迭代,父母不断产生、交叉育种、变异和重新评估,最终引导系统逐步走向更高保真度和更有效的查询。

这种变异方法 powerfully 参与代理过程,一个利用自然语言理解调用更有意义或上下文感知变异的过程。此外,每个变异随后针对真实世界搜索引擎行为进行测试,使遗传算法的适应循环更加动态。

代理工具

蓝螺旋利用一个健壮的“AutoBrowser”类构建在Playwright之上,以自动化网络导航和内容提取,作为各种专门网络研究工具的基础。此编排层在底层使用Firefox执行有针对性的网络搜索、浏览到感兴趣的页面,并处理滚动以显示超出初始视口的内容。

图8. AutoBrowser类Duck Duck Go网络搜索

此类中的一个核心能力是处理大型或复杂页面。而不是依赖单个静态捕获,“capture_large_page”方法滚动内容,在进展中拍摄多个屏幕截图。这些图像然后通过光学字符识别(OCR)处理,允许蓝螺旋检索高价值信息,否则可能隐藏在长滚动之下。此外,IOCs经常出现在图表和嵌入视觉中,也通过这种基于OCR的方法提取。

补充OCR捕获,系统的“html_dump”方法利用“BeautifulSoup”解析和清理原始HTML内容。这确保,除了图像,标准文本数据被彻底提取和清理以供分析。当OCR偶尔引入转录错误时,解析HTML可以纠正或加强数据准确性,提供合并原生和基于图像的文本的全面视角。

图9. AutoBrowser类滚动大内容与OCR分块捕获

另一个核心特征是PDF处理机制。蓝螺旋首先尝试直接文件下载,使用PyPDF2从每个页面提取文本。如果由于服务器设置或文件格式失败,“AutoBrowser”无缝过渡到回退:在浏览器窗口中加载PDF并对渲染页面应用OCR。这种双重设置扩展覆盖到多样化的文档范围——从PDF和HTML文件到基于图像的资源——实现全面数据提取以进行彻底IOC研究。

除了其网络导航和内容捕获能力,蓝螺旋包括一个专用的绘图和分析套件,旨在实时可视化和解释OSINT结果。通过记录搜索词、适应度评分和上下文数据到JSON,此模块利用像“matplotlib”这样的库来分析反映IOC检测、适应度评分和整体搜索结果的堆叠趋势线。核心“ChartAnalyzer”类进一步支持详细检查模式转换(例如,探索与利用),自动Base64编码图表图像以供下游基于AI的分析和模式决策推荐。

报告生成与目标对齐

蓝螺旋在多个点应用健壮的目标对齐检查,以确保只有相关信息进行更深层次分析。在网络搜索过程中,AutoBrowser代理首先过滤掉任何已调查的链接,然后根据总体目标评估新结果以确定是否需要进一步检查。

在基于OCR的文本捕获之后,文档代理引入第二个门:它验证提取的文本的相关性,丢弃任何未能与系统目标对齐的段。如果没有捕获的内容是目标对齐的,文档代理完全跳过内容。此阶段有助于防止不相关材料过度负担后续分析。

最后一个门发生在深度潜水代理转储和解析HTML内容时。它通过评估文本对齐来镜像早期检查,然后创建最终报告并将其添加到输出馈送。在此处删除不相关内容确保只有可衡量价值的信息将出现在可交付输出中。

最终,蓝螺旋聚合一个markdown格式的馈送,其中包含在30天窗口内新识别的网络IOCs的详细信息,以及相关的威胁行为者和活动(如果存在)。

图10. 带有提取IOCs、行为者和活动的Markdown报告

操作化

在此阶段,蓝螺旋已识别OSINT,审查它,并提取IOCs、威胁行为者和活动。接下来,我们想看看如何简化操作化过程。作为人机团队项目的一部分,我们开发了模型上下文协议(MCP)连接到内部数据库。我们开发了第二个代理,能够使用MCP服务器研究我们内部数据库中识别的指标,并根据第一个代理的研究努力应用更新/插入到数据库。

汇总的markdown报告被放置在一个队列中供第二个代理处理,其角色是使用MCP研究指标并将它们处理成人类可审查和可操作的对象。在我们的案例中,代理填写与人类分析师使用的相同的指标提交表单,并将它们置于“待定”状态。这允许人类审查员有机会轻松进行任何编辑、批准或拒绝提交。此过程实现从自主研究员的快速价值提取,并促进反馈系统以改进原型。与任何“新员工”一样,随着时间的推移,当我们观察并获得对蓝螺旋的信任时,我们的意图是其提交将立即在数据库中变为活动状态,无需审查,并且其能力增加。

MCP服务器允许代理创建高质量的数据库提交,并包含基本工具以搜索指标、行为者和客户网络中的指标存在。它还提供功能以检查我们的内部允许列表、检查指标的现有元数据标签列表,并准备提交到数据库。对于人类用户,MCP服务器还暴露一些提示作为斜杠命令,以在复杂和优化提示策略的支持下轻松促进常见工作流。

虽然MCP服务器核心是包装已存在的API基础设施,但我们应用 several 优化以使它们的响应更友好于AI代理。例如,更新日期转换为“几天前”以避免代理必须动态计算;响应分页以避免淹没上下文窗口;大型批量查询除了原始结果外生成摘要,如“在过去7天中在客户流量中找到10 of 15 SLDs”以减少代理在生成最终提交摘要时的认知负荷。我们还将其中一些工具默认为“仅摘要”模式,并在我们想要构建报告时在代理链外调用非摘要模式。

我们发现强制代理在工具调用链中途开始是有用的。我们从经验中知道,几乎每个调查应包括检查指标在我们数据库中的存在、允许列表和客户流量;查找有效元数据标签;并对指标进行采样以给代理一个自由形式字段中写作风格的想法。当输入已知且任务正在自动化时,强制这些工具调用并从工具链中途启动代理节省令牌、时间,并避免代理“偏离脚本”并跳过关键研究步骤的风险。在这些执行之后,代理知道如果返回的样本最近更新,它应该分页额外的指标样本,并且我们已指示代理坚持行为者搜索,以便我们可以正确将指标归因于行为者。最后,代理生成一个提交和伴随报告以解释其决策和指标在客户流量中的状态。

图11. 指标处理架构图

在一个例子中,代理开始按名称在数据库中搜索“ColdRiver”(一个俄罗斯APT组)。初始搜索没有结果,但代理决定搜索所有行为者描述为“Russian”:如您所想,产生了相当多的结果。在其中一个中,代理找到了以下片段:

图12. 行为者搜索结果

这足以让代理正确将这些指标归因于这个FSB链接的行为者组。在另一个中,代理搜索“Devman”并按名称没有找到任何东西,因此它决定检查包含“ransomware”的描述,因为情报表明Devman是一个勒索软件组。再次,如您所想,我们数据库中有许多与勒索软件相关的行为者;但这次代理筛选了它们的描述,没有找到匹配描述或特定名称Devman的。在其最终摘要报告中,代理提到“如果将来添加了Devman威胁行为者对象,建议链接这些指标。”我们尚未允许代理自己创建行为者,但在未来,我们期望这将是一个代理会这样做的情况。

结论

蓝螺旋被概念化以解决防御者面临的信息过载,由现代网络威胁的速度和数量加剧。如我们在引言中讨论的,人类分析师经常被分散在开源平台上的海量情报所淹没,传统的手动报告合成方法无法再跟上步伐。蓝螺旋努力填补这一空白,自动化最重复的元素,以便分析师可以专注于真正需要人类专业知识的更高级任务。

基于 earlier 概述的问题,蓝螺旋提供了一个实际演示,展示代理概念如何转化为有形的网络安全好处。通过在一个明确定义的多智能体环境中编排多个AI驱动工具(如OCR、网络编排、遗传算法和LLMs),平台减轻了筛选无尽数据资源的瓶颈。这种方法赋能防御者,使他们能够利用机器智能的速度和适应性,同时在最重要的地方保留人类监督。

关键的是,系统的双模式框架平衡探索和利用,这是迈向更自适应智能的一步,既可以发现新的威胁景观,又可以深化围绕已知高产量查询的搜索。简化的工作流包括增量页面捕获、自动化PDF解析和 meticulous 对齐检查,展示了蓝螺旋如何系统地将相关数据引导通过管道而不过度负担后续过程。结果是一个有针对性的、基于markdown的最终报告,不仅提供对新兴IOCs的即时可见性,而且支持与Infoblox数据库和其他安全工具的下游集成。

最终,自动化管道编排和周到代理设计之间的协同标志着OSINT收集的重大进步。通过以帮助防御者跟上威胁加速速度的方式操作化代理思维,蓝螺旋作为一个概念证明,展示行业如何有意义地利用这些新技术。虽然持续改进将进一步增强其能力, potentially 移除剩余的人类批准门,但其核心架构强调了在现代网络安全中统一速度、精度和适应性的持久需求。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计