入侵检测系统(IDS)部署久了,几乎每个运维人员都会撞上同一道蔷:规则覆盖不到的盲区。这道盲区恰好卡在"你写了什么规则"和"攻击者实际用了什么手法"之间。
传统 Snort 签名是精密仪器。一条精心编写的规则可以近乎零误报地捕获已知漏洞利用,且性能开销在 profiling 中几乎不显山露水。这种精确性来自特异性,而特异性恰恰就是整个问题的根源——为 CVE-2024-12345 写了规则,就只能覆盖这一个 CVE。换一个略微不同的路径触发同一处漏洞代码?规则不会响。
这并非对签名模型的批评,它运作得完全符合设计预期。签名编码的是攻击在网络层面呈现的具体、可验证的知识,低误报率正是特异性的直接产物。真正难以解决的约束是另一件事:暴露时间窗口。从野外出现新型漏洞利用的那一刻,到研究人员完成捕获、逆向工程、编写规则、验证规则、更新推送——这个过程往往要经历数天甚至数周。对于正在被活跃利用的常见软件漏洞来说,这个窗口并非假设场景。
Cisco Talos 于 2024 年 3 月正式回应了这一挑战,推出 SnortML,一套运行在 Snort 3 原生环境内的机器学习检测引擎。
SnortML 的工作原理
先说清楚机制,再谈架构影响。SnortML 不是挂在 Snort 告警输出端的通用异常评分器,也不是每次请求都要回拨云端查信誉的服务。推理完全在本地设备上完成,与常规规则评估共用同一处理管道,单次判决耗时在毫秒以下。
整套机制依赖两个组件:
- snortmlengine 模块:负责在启动时加载模型,将预训练的 TensorFlow 模型读入内存,作为分类器在整个会话周期内随时可用。
- snort_ml 检查器:通过 Snort 3 内部已有的发布/订阅接口,订阅来自各服务检查器的数据流。HTTP 检查器完成请求解析后,将 URI 查询字符串和 POST body 发布到事件总线;SnortML 检查器接收后送入分类器,输出一个浮点数,代表内容包含漏洞利用尝试的概率。
模型架构是嵌入层(Embedding) + LSTM。嵌入层将原始字节值映射为学习得到的向量表示,这种方式能捕捉字节之间的关联性——这是纯频率分析做不到的。可以类比 NLP 中的词嵌入,只是这里的 token 是字节而非单词。字节值 0x27(单引号)紧邻 0x4F 0x52(OR),嵌入层会编码关于 SQL 注入模式的学习上下文。LSTM 再处理这些序列,捕捉时序结构:字节的顺序很重要,而攻击载荷往往具有区别于正常查询字符串的特征性排序。
最后,一个全连接层将 LSTM 输出压缩为单个概率浮点数。SnortML 随附的推理库 LibML 使用 XNNPACK 进行硬件加速矩阵运算,保证推理耗时在高负载下依然可预测。在 4.7 GHz AMD 处理器上,单次分类耗时约 350 微秒。
一个值得注意的细节:从 Secure Firewall 10.0.0 起,SnortML 会根据实际查询长度自动选择针对 256、512 或 1024 字节输入的模型。短查询走轻量模型,只有更长更复杂的请求才会触发完整推理。若查询超过 1024 字节,输入会在该边界处截断后送入分类——处理超长参数字符串的应用场景时需留意这一行为。
初始版本聚焦 SQL 注入检测。到 2025 年末,覆盖范围已扩展至 XSS 和命令注入攻击类别。模型更新通过 Snort 的 Lightweight Security Package 系统推送,与规则内容共用同一更新通道,无需单独的更新工作流。
下图展示了 SnortML 在 Snort 数据包处理管道中的位置。SnortML 分类器与传统签名匹配并行运行。注意两条路径从检查器调度处分叉、又在判决阶段汇合的节点:任意一条路径均可独立触发告警,而两条路径同时命中的检测,置信度显著高于仅由 ML 单独触发的检测。

并行架构为何重要
SnortML 不是替代签名评估,而是与之并行运行。这是刻意的工程决策,而非过渡性妥协。
针对漏洞类别训练的神经网络,偶尔会对形似攻击语法的正常流量误报。URL 编码的特殊字符出现在合法数据库查询中,是典型场景。签名与 ML 模型并行运行,意味着两种机制提供相互独立的覆盖,且错误特征不同:ML 捕获尚无签名对应的新型变种,而传统匹配为已知模式提供低噪声基准。两条路径同时命中同一载荷,这种关联性本身就是下游系统的高价值信号。
延迟影响经过了严格测试。350 微秒的开销是真实的,需要放在具体场景中理解。在当前 Cisco Secure Firewall 设备上,高吞吐量 Snort 部署的单个数据包处理预算为数百微秒到数毫秒不等,受规则集规模和协议复杂度影响较大。增加 350 微秒并非可忽略的开销——这也正是 XNNPACK 加速的价值所在:它将 ML 开销保持在可预测、有上限的范围,而非随负载水涨船高。
嵌入式机器学习的边界,以及为何下一代是 AI Agent
SnortML 是针对特定问题的高度聚焦的工程方案。这种专注既是优势,也是局限——它能在已知漏洞类别的变种利用检测上做到零日防护、完全本地运行且无外部依赖。在其覆盖范围内,表现相当出色。问题在于,这个范围本身才是值得深入探讨的地方。
单请求检测的盲区
SnortML 的分类器以单个 HTTP 参数为粒度进行操作:一条 URI 查询字符串或 POST 请求进来,评分,触发或不触发。模型对以下信息毫无感知:该请求之前发生了什么、之后发生了什么,以及同一来源 IP 在过去二十分钟内还发送过什么。
考虑一个简单的三步请求序列:先是探测请求,用于摸清应用的输入验证行为;接着是枚举请求,定位可注入的参数;最后才是针对前两步探测结果量身定制的漏洞利用Payload。单独看每个请求,得分都可能低于阈值——但序列中的第三个请求之所以危险,正是因为有前两个铺垫。SnortML 无法识别这种关联。
同样的边界还体现在 HTTP 参数空间之外的所有领域:DNS 隧道数据泄露、TLS 层协议攻击、SMB 漏洞利用、基于时间的隐蔽信道、非 HTTP 服务的协议行为异常——这些都不会经过 HTTP 检查器的发布路径,因此 SnortML 根本看不到它们。架构层面完全可以在此基础上扩展其他检查器,发布/订阅接口也足够通用。但针对这些数据源的训练模型尚不存在,而且为研究较少的协议构建标注训练语料库,其难度远超当初为 HTTP 构建的那一套。
从感知层到推理层
以上这些并非缺陷,而是任何以"逐包、逐参数"粒度运行的检测系统的天然约束。突破这些约束需要一种不同类型的推理能力:能够在时间维度上保持上下文关联、从多个观测点汇聚信号、不依赖人工阅读报告才能触发行动。这正是安全运营中 AI Agent 的设计目标。
下图展示了不同检测方法如何覆盖攻击面的不同层级。SnortML 位于网络线缆层,将 Snort 的检测范围从已知模式扩展到零日变种。AI Agent 的推理则运作在更高抽象层级,时间上下文和跨来源关联成为主要工具。

AI Agent 在网络防御中的角色
"AI Agent" 一词在安全行业的营销语境中已被过度使用,几乎失去精确含义。有必要明确区分:AI Agent 与传统机器学习模型或自动化 SOAR 剧本之间,究竟有什么本质不同。
传统机器学习模型只对眼前的输入进行评分,没有对先前输入的记忆、没有主动获取更多上下文的能力、也没有决定输出后该如何处置的机制。SOAR 剧本则走了另一条路:由告警条件触发的一系列固定步骤,每个步骤都是预定义的。如果实际情况超出了剧本预期的分支,自动化就会中断并转交人工处理。两者都有真实价值,但两者都不是 AI Agent。
AI Agent 在多步骤调查过程中维持状态,根据已发现的线索决定下一步该查什么,而非按预设序列机械执行。它会调用工具:向 SIEM 查询关联事件、将文件哈希放到威胁情报平台比对、从身份提供商拉取被标记用户的近期活动、检查来源 IP 是否出现在 BGP 层级的黑名单中。每一次查询结果都会影响后续行动。当调查推进到需要响应的节点时,Agent 可以直接执行,也可以带着充分的上下文进行交接,使审阅其建议的人工分析师只需几秒而非几小时就能做出判断。
SOC 分析师短缺才是真正的驱动力
看一下劳动力市场的数据,采纳速度就更好理解了。全球网络安全人才缺口约为 400 万个职位。2025 年的一项调查发现,82% 的 SOC 分析师表示因告警数量过多而担忧遗漏真实威胁。这些数字描述的是一个结构性承压的系统,单纯叠加工具从未解决过根本问题。在不改变分诊和调查工作流的前提下增加检测能力,只会产生更多告警,而非更好结果。AI Agent 被采纳,并非因为理论上优雅,而是因为"雇更多分析师来读更多告警"根本不是一条可行的扩展路径。
Snort 3 在 Agent 架构中的定位
在这个图景中,集成了 SnortML 的 Snort 3 占据了一个特定而重要的角色:传感器层。距离实际网络线缆最近的运行点,以数据包速度执行,持续输出网络上已被明确观测到的事件流。这份事件流是上层推理所依赖的事实基础。
这种定位在 Agent 架构中比在传统 SOC 中更有价值。传统模式下,Snort 告警进入 SIEM 由分析师分诊,分析师同时也是纠错层——他们阅读上下文、判断告警是否值得调查、手动追踪。而在 Agent 架构中,Snort 的输出直接喂入自动化推理链。误报不再只是消耗分析师精力,而是消耗 Agent 的计算周期、填满调查队列,在配置不当的部署中还可能触发自动化遏制动作。因此,对传感器层的准确度要求反而更高了。
SnortML 的概率输出为此提供了一种具体路径。由于分类器返回的是浮点数而非二元匹配结果,智能代理层可以直接将其纳入自身的置信度评分。例如,一条经典签名规则命中的告警若同时伴随 0.97 的 SnortML 评分,其处理路径会与仅有 0.61 ML 评分的告警截然不同。更丰富的数据维度让下游推理有更多可用信息,也让基于阈值的升级逻辑更加精细。
下图展示了多代理 SOC 架构如何在各专项功能间协调工作。每个代理负责调查链路的一个层级: triage(初筛)、 enrichment(丰富)、 deep correlation(深度关联)、 contextual history(上下文历史)。注意 severity assessment(严重性评估)和 response(响应)两个环节的决策点:两者均为明确的分支结构,而非线性管道,这种设计使得不同风险等级的告警能够按比例引入人工介入,而非将所有告警一刀切处理。

集成架构方案
对于实际部署 Snort 3 的团队而言,核心问题是各层之间如何衔接。以下是一套具体方案,并非 vendor 产品推销——其中每个组件均已存在,真正的问题是如何组合它们。
整体架构分层
整体方案分为四个层级: 采集层(Capture Tier):通过 DAQ 层处理网卡层面的数据包获取,根据吞吐量需求选用 AFPacket RSS 队列或 DPDK 方式,将数据送入 Snort 分析线程。
检测层(Detection Tier):MPSE Hyperscan 规则引擎与 SnortML LSTM 分类器并行运行,共同向遥测总线输出统一的事件流。该事件流以 JSON 格式承载告警数据、ML 概率评分和流元数据。Schema 定义至关重要,因为上层智能代理框架需要解析并推理这些数据——字段命名不一致、不同告警类型缺失字段等问题,会在规模化部署时不断累积整合摩擦。
智能推理层(Agentic Reasoning Tier):接收事件流后,按职能划分调度至专项代理:
- Triage 代理:负责去重、过滤和初始严重性评分
- Enrichment 代理:拉取 IOC 数据、IP 信誉和威胁情报
- Investigation 代理:关联 SIEM 数据、身份提供商日志和端点遥测
- Context 代理:将当前活动与历史模式、同源历史告警及已知攻击活动签名进行比对
响应层(Response Tier):根据推理结果执行对应响应动作。
下图展示了从采集层经智能推理层到响应层的完整集成路径。最关键的结构特征是从响应层折返至 ML 模型和规则引擎的那条反馈路径——这正是当前大多数部署所缺失的环节。

反馈回路的缺失
当前大多数部署在检测与智能代理交接处即告中断。代理接收 Snort 输出后进行调查和响应,但没有任何数据流回以改进 Snort 的检测能力。事实上,代理完成的每一次确认攻击调查,都蕴含着 ML 训练管道可用的信息:评分低于阈值但实际为真的攻击载荷、无签名覆盖的变体、分类器学会低评分的全新混淆模式。这些带标签、结构化的数据本是珍贵的训练信号,目前却被直接丢弃。
捕获这条反馈路径在技术上并不复杂。确认事件中的 HTTP 参数数据已存在于告警遥测中,提取出来、经人工验证步骤后送入周期性重训练任务即可。Cisco 的 LSP 推送机制可通过与规则更新相同的通道推送更新后的模型。真正的难点在于组织流程,尤其是人工验证环节——攻击者若能通过构造特定活动模式(看似成功攻击但实际为自动化分析结果),理论上可向重训练管道注入污染样本。这套威胁模型需要在重训练输入端运行异常检测,而非仅在实时流量端监测。
当前差距与待完善功能
以下是对当前尚不能工作的部分的务实盘点,以及这些差距对实际部署团队的意义。
SnortML 覆盖范围目前仅限于 HTTP
当前 SnortML 模型可检测 HTTP URI 查询字符串和 POST body 中的漏洞利用攻击。这覆盖了 Web 应用攻击面的很大一部分,但 DNS 隧道、TLS 层攻击、非 HTTP 服务的协议级注入、SMB 漏洞利用等均不在其检测范围内。
发布/订阅架构本身是协议无关的——任何 inspector 都可以向 ML inspector 订阅数据。真正的限制在于训练数据:DNS 等研究较少的协议很难构建带标签的语料库,而 HTTP 数据集因多年安全研究积累了大量公开资源。相关语料库尚未就绪之前,SnortML 的 ML 检测范围将保持在 HTTP 边界内。
代理协调协议仍在成熟期
当前多代理安全平台均运行在专有编排层之上。IBM ATOM、SentinelOne Purple AI、Torq 的多代理系统各自按照自身规范构建内部代理协调机制,彼此之间并无互操作性。Model Context Protocol 和 Agent-to-Agent Protocol 作为新兴标准正在崛起,但尚未达到可默认被各 vendor 平台支持的采用程度。
对于以 Snort 为核心的部署而言,这意味着需要将 Snort 输出的事件 schema 显式映射至每个代理框架的预期输入格式,且每次集成都需重复这项映射工作。Snort 端的 schema 稳定性和 MCP 在代理端的更广泛采纳,都能显著减轻这一负担。
ML 告警的可解释性仍不成熟
告警归因:哪个字节触发了检测
当 SnortML 触发告警、调查代理将事件升级给人类分析师审批时,后者面临一个合理的问题:究竟是载荷的哪一部分驱动了这次告警?不是整个 URI,而是具体哪个字节让分数越过阈值。单引号字符?类似 UNION SELECT 的特定序列?现有的 SnortML 告警输出只提供概率分数和触发载荷内容,并不说明得分归因于哪些输入区域。
基于梯度归因的方法,特别是应用于 LSTM 输入嵌入层的 Integrated Gradients,能够为这类序列模型生成字节级重要性分数。该技术已被充分研究,并曾在具有类似架构的文本分类任务中应用。将其引入 SnortML,意味着在推理路径中加入归因计算,并将 GID:411 告警格式扩展以承载输出。工程路径清晰,但当前生产系统尚未构建这一能力。
下图展示了现有告警数据流与缺失部分之间的对比。左侧路径是分析师和代理目前收到的内容;右侧路径则是加入归因输出后将可用的内容。两条路径源于同一次推理,因此差距不在架构层面,而在于现有推理运行已包含所需信息,却未被提取呈现。

对抗输入下的模型鲁棒性尚未公开测试
通过神经网络检测 SQL 注入是一个监督学习问题。模型在已知攻击模式语料库上训练,学习将攻击流量与正常流量分开的决策边界。了解 SnortML 已部署的攻击方,理论上可以系统性地探测这一边界:尝试混淆变体、字符编码技巧、SQL 注释注入、空格操作等规避技术,寻找保留漏洞利用功能但得分低于检测阈值的输入。这正是将对抗性机器学习问题应用于网络安全的典型场景,并非理论假设。
真正缺失的是对这一决策边界位置及其在刻意攻击下稳定性的公开评估。SnortML 目前已在 Cisco Secure Firewall 生产部署中运行。安全运营社区需要公开的对抗鲁棒性评估:哪些攻击类别能够规避模型,在何种混淆技术下以何种比率规避。这项工作尚未公开,但应该推进。
具备真正创新性的研究方向
以下五个方向在现有文献中没有成熟答案,每一个都足够具体,可以作为研究项目展开,同时足够重要,能够影响已部署系统。
跨流量时序建模
当前 LSTM 处理单个 HTTP 参数序列。一个有意义的架构扩展是对同一源 IP 在一个会话期间的多条请求进行窗口化建模。实际做法可以是:固定窗口取自同一来源的最后 10 或 20 条请求,或时间限定窗口取 60 至 120 秒内的活动,取两者中较短者。攻击者在利用前进行侦察时会表现出特有的时序模式:先发送探测请求测试输入处理,再发送一条或多条枚举请求识别可注入参数,最后根据探测结果发送针对性漏洞利用载荷。无论单请求评分多准确,单参数分类器在结构上无法感知这一模式。
基于 Transformer 的模型在这样的会话窗口上运作,将是检测能力的有意义一步。但工程挑战真实存在:Snort 当前的数据传递模型将单个参数值传递给 ML 检查器。构建会话级特征向量需要修改检查器缓冲和跨多条请求累积输入的方式,这涉及检查器生命周期管理和内存处理。研究问题是:检测提升是否值得这一架构复杂度。
LLM 辅助从 SnortML 检测生成 Snort 规则
当 SnortML 在确认的真实阳性事件上触发时,触发载荷包含的句法模式会让经验丰富的规则编写者立刻动手起草签名。具有该载荷访问权限、熟悉 Snort 规则语法、且掌握少量优质现有规则示例的 LLM,可以尝试草拟覆盖同类攻击的候选签名。经验证后,该签名为该攻击模式建立明确的经典覆盖,使未来实例即使不经过 ML 推理也能触发。
这形成了一个真正有用的闭环:ML 检测处理尚无签名覆盖的新情况,确认的检测结果则馈送管道以强化经典覆盖。研究问题具体且可衡量:LLM 生成的 Snort 规则与手动编写的规则相比,在误报率、载荷变体泛化能力及处理开销方面表现如何?这项比较拥有可发表的答案,并直接影响检测规则管道的团队配置和自动化程度。
代理调查质量度量
安全行业正在部署具有真实处置权限的代理化 SOC 平台,却几乎不存在关于这些代理实际调查效果的正式基准测试。供应商提供的指标聚焦于数量削减:每小时分类的告警数量、从告警到关闭的时间、节省的分析师工时。这些指标无法说明代理是否做出了正确决策。
更有用的基准测试框架应直接衡量调查准确率:自动处置操作由确认的误报触发的比率、真正恶意活动被分为低危并自动关闭的比率、在定义时间窗口内代理组装的情境包导致正确分析师决策的升级比例。构建这一框架需要带有已知真实标签的真实事件调查数据集,这既是数据收集问题,也是度量设计问题。这项工作有必要推进,但在当前文献中基本缺失。

在生产环境中部署 Snort 3,尤其是将 SnortML 和代理推理工具纳入现有安全体系,团队需要在运营层面提前了解几个关键经验。
先以监听tap模式运行SnortML,而非直连部署
SnortML 的 HTTP 参数分类器假阳性率虽然较低,但并非为零。在尚未摸清该模型针对自身流量特征的实际情况之前,就贸然开启"检测即阻断"模式的直连部署,极易引发生产故障。一些使用了特殊编码的参数化查询、REST API 在 query string 中传递数据结构、或者使用了非标准转义逻辑的框架,都可能产生高于默认阈值得分、却并非恶意流量的输入。
正确的初始部署方式是被动监听。将 SnortML 告警作为事件捕获,针对已知的正常应用流量至少测量两周(覆盖正常业务周期),在心中建立模型针对特定协议和应用模式的基准线后,再考虑开启阻断。在 Cisco FMC 中,评估期间将 GID:411 规则设为仅告警模式。有了基准线再做阈值调优和选择性直连部署。
将 ML 评分作为综合判断的输入之一,而非唯一依据
如果基于 Snort 构建代理推理逻辑,切勿将 SnortML 评分超过 0.9 的判断直接等同于已确认的经典签名匹配。两套检测机制的误差特征在结构上截然不同:经典签名对覆盖到的模式产生极低假阳性率,但会漏掉变体;SnortML 对变体和未知模式的覆盖更好,但对合法流量中形似攻击语法的字节序列存在非零假阳性率。数据库查询中的 URL 编码特殊字符,以及部分 REST API 认证方案,都可能产生中等范围的得分数。
正确的架构是将 ML 评分作为综合置信度计算的一个因子,而非独立触发条件。经典签名和 SnortML(0.95 分)同时触发的告警,应与仅 ML 触发(0.72 分)的告警区分处理。信号之间要相互印证,不要互相替代,更不要让 ML 评分在缺乏其他证据支撑的情况下单方面驱动自动阻断决策。
containment 操作必须保留人工审核环节
赋予代理系统阻断 IP、隔离主机或重置凭证的权限,会引入一个极易被低估的风险:攻击者若了解你的自动化响应逻辑,就能将其武器化。攻击者构造看似来自合法关键基础设施地址的流量,触发自动化阻断阈值,从而将你自己的响应系统变成定向拒绝服务的工具——这不是理论推演,而是有记录在案的攻击手法,适用于所有采取激进自动化响应的组织。
有效的运营策略是不对称的:调查阶段高度自动化,响应阶段保守自动化。让代理处理那些消耗分析师大量时间、但不需要高风险判断的分诊、丰富、关联和上下文整理工作。最终的 containment 决策则留给审阅过代理整理上下文的人类分析师。自动化将审阅时间从小时级压缩到秒级,而人类判断这一步是系统对抗恶意对抗行为的关键韧性所在。
相关研究动态
本节收录 2024—2026 年间 Agentic AI 在安全运营领域的关键文献,涵盖工业级实践、学术调研与开源工具三个维度。
工业级 Agentic SOC 实践
2025 年,多家安全厂商相继推出 Agentic SOC 产品。IBM 于 2025 年 4 月发布自主安全运营平台,引入 Agentic AI 实现威胁检测与响应的自动化编排。Trend Micro 于同年 8 月推出 Agentic SIEM,主打主动式威胁防御。Omdia 于 2025 年 11 月发布研究报告,系统梳理 SecOps 向 Agentic 平台的演进路径。
开源层面,Snort3 项目维护的 LibML 库整合了 TensorFlow 与 XNNPACK 推理能力,为轻量化神经网络检测模型提供运行时支持。
学术调研与理论框架
学术界对 Agentic AI 与网络安全的交叉领域保持了较高关注度。2025 年 11 月发表于 MDPI Systems 的综述论文 AI-Augmented SOC: A Survey of LLMs and Agents for Security Automation,系统梳理了大语言模型与 AI Agent 在安全自动化中的应用现状。2026 年 1 月预印本 A Survey of Agentic AI and Cybersecurity: Challenges, Opportunities and Use-case Prototypes(arXiv:2601.05293)进一步探讨了 Agentic AI 在网络安全中的机遇与挑战。
此外,针对工业物联网(IIoT)场景,研究者提出了 Zero-Trust Agentic Federated Learning for Secure IIoT Defense Systems 方案,探索在边缘环境中构建兼具隐私保护与自主决策能力的安全防御框架。
检测引擎与性能优化
在检测能力增强方面,Cisco Talos 于 2025 年 9 月发布 SnortML,为 Snort 检测引擎引入基于机器学习的增强模块。Napatech 则于 2024 年展示了其 SmartNIC 网卡可将 Suricata 性能提升 4 倍,为高流量场景下的入侵检测提供硬件加速路径。
- LibML: TensorFlow + XNNPACK inference library
- IBM delivers autonomous security operations with cutting-edge agentic AI
- Trend Micro launches Agentic SIEM
- The agentic SOC: SecOps evolution into agentic platforms
- AI-Augmented SOC: A Survey of LLMs and Agents for Security Automation
- A Survey of Agentic AI and Cybersecurity
- 4x Suricata Performance Increase for Napatech SmartNICs
- SnortML: Cisco's ML-Based Detection Engine Gets Powerful Upgrade
- Zero-Trust Agentic Federated Learning for Secure IIoT Defense Systems


评论