VibeWAF论文学习:让LLM给WAF自动长规则,到底可不可行

这篇文章基于 AgenticOS 2026 论文《Toward LLM-Driven Rule Generation for Enforcement Systems: An Exploratory Study on WAF》整理,重点讨论 LLM 能不能进入安全规则系统的闭环,并持续给 WAF 生成新规则。

写在前面


  • 博文内容为 AgenticOS 2026 论文 Toward LLM-Driven Rule Generation for Enforcement Systems: An Exploratory Study on WAF 的学习笔记
  • 论文地址:https://os-for-agent.github.io/papers/AgenticOS_2026_paper_24.pdf
  • 论文做了一个很具体的原型:VibeWAF
  • 它不是让 LLM 直接站在实时请求路径上做判决,而是让 规则引擎处理已知模式,LLM 分析未命中流量并增量生成新规则
  • 理解不足小伙伴帮忙指正 :),生活加油

我看远山,远山悲悯

持续分享技术干货,感兴趣小伙伴可以关注下 ^_^


一句话先说结论

这篇论文的核心结论很务实:

LLM + Rule Engine 这条路线是可行的,但前提不是让 LLM 直接取代 WAF,而是让它成为慢路径上的“规则生成器”,持续把未知攻击沉淀成已知规则。

论文给出的最好结果是:

  • 规则命中率最终收敛到大约 88%
  • 平均延迟从纯 LLM 路径的约 6.5s 降到 400ms 以下

但论文也非常诚实地指出了几个难点:

  • 静态生成的规则无法泛化到未见攻击
  • 白名单规则比黑名单规则更难做好
  • append-only 的规则库会不断膨胀
  • 新攻击到来时,旧白名单甚至可能“静默放过攻击流量”

名词解释

  • WAF:Web Application Firewall,Web 应用防火墙
  • ModSecurity:常见的开源 WAF 规则引擎
  • blacklist:黑名单规则,命中即拦截
  • allowlist / whitelist:白名单规则,命中即放行
  • enforcement system:执行访问控制或安全规则的系统
  • feedback loop:把未命中流量送去分析,再把新规则回灌到引擎的闭环
  • OWASP CRS:OWASP Core Rule Set,常见的通用 WAF 规则集
  • leave-one-category-out:留出一个攻击类别不用来训练,再测试泛化性的评估方式
  • recall:召回率,表示实际恶意请求里有多少被识别出来
  • precision:精确率,表示被判为恶意的请求里有多少真的恶意
  • F1:精确率和召回率的综合指标
  • append-only ruleset:只增不删的规则集演化方式
  • rule lifecycle management:规则的生成、合并、去重、过期和回收管理
  • SR-BH 2020:论文实验里使用的 Web 攻击数据集

论文在研究什么问题

WAFSELinuxiptables/nftables 这类规则型执行系统,都依赖规则持续更新。

问题是手工维护规则很慢,而且需要很强专家经验。

LLM 看起来很适合这个问题,因为它:

  • 能读懂攻击请求
  • 能总结模式
  • 能生成结构化规则

但如果直接让 LLM 处理线上请求,又会出现两个明显问题:

  • 泛化有限,静态规则覆盖不到没见过的攻击
  • LLM 推理延迟太高,根本不适合在线实时 enforcement

于是论文提出了一个折中架构。

VibeWAF 的核心思路

论文构建了一个名叫 VibeWAF 的原型,把系统分成两层:

第一层:快路径规则引擎

已知模式由 ModSecurity 规则引擎直接处理:

  • 黑名单规则拦截已知恶意请求
  • 白名单规则放行已知安全请求

这部分必须低延迟、确定性。

第二层:慢路径 LLM 分析

当请求没有被现有规则匹配时:

  • 请求会进入 LLM 分析
  • LLM 判断样本特征
  • 生成新的规则
  • 新规则回灌到第一层规则引擎

于是整个系统形成一个持续学习的反馈回路。

论文想验证的其实不是“LLM 能不能写规则”,而是:

一个由规则引擎和 LLM 组成的混合式 enforcement system,是否能在真实延迟约束下形成有效闭环。

论文实验怎么做的

作者使用了:

  • ModSecurity 作为规则引擎
  • SR-BH 2020 数据集做实验

除了整体闭环测试,论文还做了几个重要对照。

1. 静态规则能否泛化到未见攻击

论文用了 leave-one-category-out 实验:

  • 12 类攻击里留出 SQL Injection 不参与规则生成
  • 用其余 11 类攻击生成规则
  • 再测试这些规则对被留出的新类别是否有效

结果并不理想:

  • 在已见类别上 recall 是 67.6%
  • 到了未见的 SQL Injection 上,recall 掉到 35.9%

这说明:

单次生成的静态规则集,不具备真正的开放世界适应能力。

2. 直接用 LLM 当实时分类器行不行

论文又比较了:

  • OWASP CRS
  • Claude Sonnet 4.5

结果挺有意思:

  • WAF 规则的 F10.80
  • Claude 的 F1 也接近,为 0.79

但延迟完全不是一个量级:

  • OWASP CRS 小于 1ms
  • Claude Sonnet 4.5 大约 6s

所以,从效果看 LLM 有潜力,从时延看它还不能直接站在 enforcement 热路径上。

论文最值得关注的实验结果

在完整反馈闭环里,作者观察到几个关键现象。

1. 反馈回路可以收敛

随着未命中请求不断被 LLM 分析并生成新规则:

  • 规则命中率逐步提升到大约 88%
  • 系统平均延迟也从约 6.5s 降到 400ms 以下

这说明混合架构确实能逐步把“未知”转化成“已知”。

2. 白名单和黑名单表现差异很大

论文发现:

  • 黑名单规则命中率能涨到 88%
  • 白名单命中率大约停在 63%

作者据此判断,当前 LLM 更擅长生成有效的 blocklist 规则,而不是高质量 allowlist 规则。

这个结论非常重要,因为很多实际系统里,白名单一旦放宽过头,风险往往更大。

3. 旧白名单可能拖慢对新攻击的适应

当系统遇到新的攻击类别时,之前积累下来的 whitelist 规则,可能会在表面上看似“正常流量”,实际上却把新型攻击放行。

这会导致:

  • 新威胁响应变慢
  • 误以为系统已经学会了安全模式
  • 检测完整性被悄悄侵蚀

4. append-only 规则集会持续膨胀

论文里一个很直观的数据是:

  • 只处理 5,000 个请求,规则集就能长到 750+

这意味着如果没有:

  • 合并
  • 去重
  • 过期回收
  • 生命周期管理

规则库最终会越来越重。

我对这篇论文的几个理解

下面是我自己的理解。

1. LLM 更适合做“规则生产者”,而不是“实时裁判”

这是这篇论文最现实的启发。

在很多安全系统里,热路径的要求是:

  • 低延迟
  • 高确定性
  • 可审计
  • 可回放

LLM 目前更适合放在冷路径或慢路径,做:

  • 规则生成
  • 模式总结
  • 规则解释
  • 辅助归纳

而不是直接替代实时引擎。

2. 安全系统的难点不只是“会不会生成规则”,而是“规则如何演化”

论文真正暴露出来的问题,不是 LLM 生成能力,而是系统生命周期问题:

  • 新规则什么时候加入
  • 旧规则什么时候失效
  • 规则冲突怎么解
  • 白名单和黑名单如何协同

换句话说,规则生命周期管理比单次生成更难。

3. 白名单比黑名单更难做,是很重要的系统信号

这不是一个简单实验现象,而是很值得重视的设计结论。

因为白名单本质上要求:

  • 准确认出“什么是正常”
  • 能覆盖正常流量的多样性
  • 又不能过度放宽边界

这比识别恶意特征更难。

论文的局限

1. 这是 exploratory study,不是工业级完整方案

论文重点是验证混合方案有没有前景,不是交付一个已经可大规模上线的生产系统。

2. 评估聚焦 WAF 场景

作者虽然在引言里提到 SELinuxfirewall 之类更广泛的 enforcement system,但实验主体还是 WAF。结论能否平移到其他规则系统,还需要更多验证。

3. 规则合并和回收还没真正解决

论文已经看到了规则膨胀问题,但目前还没有给出完整的规则生命周期闭环。

对工程实践的启发

1. 不要让 LLM 直接站到 enforcement 热路径

更靠谱的方式是:

  • 热路径仍然交给传统规则引擎
  • LLM 负责未命中分析和增量学习

2. 要重点设计 rule lifecycle management

如果规则只增不减,系统迟早会越来越难维护。

3. 对 allowlist 要比 blocklist 更谨慎

这篇论文已经明确说明,allowlist 的生成和收敛都更难,更容易埋隐患。

总结

如果用一句话总结这篇论文,我会这样说:

它证明了 LLM + Rule Engine 这条路不是空想,但真正可落地的形式,不是“让 LLM 直接接管线上判决”,而是“让 LLM 成为规则系统的慢速学习器和规则生成器”。

对我来说,这篇论文最有价值的地方在于它把问题讲得很真实:

  • LLM 能帮忙,但不能直接替代
  • 混合系统能收敛,但生命周期管理更关键
  • 安全系统里,速度、确定性和可治理性依然比“会生成”更重要

参考

博文部分内容参考

© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知 :)



© 2018-至今 liruilonger@gmail.com, 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)

发布于

2026-04-09

更新于

2026-04-09

许可协议

评论
加载中,最新评论有1分钟缓存...
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×