可以想象一下,WAF规则如果直接上生产环境,风险太大了,根本不现实。正常流程都是上线前先验证,确保不会出现失控的误拦截:先把规则放到BETA环境跑一段时间,再切到生产环境,而且生产环境一开始也不直接拦截,先开仅记录日志模式,观察一阵子没问题了,才正式开拦截。
以前没有用大模型分析的时候,WAF上线观察期最头疼的就是人工分析日志,活儿又多又费劲儿。现在不一样了,直接把WAF日志丢给大模型,让它帮着判断是不是误拦截。这篇就跟大家分享下用大模型分析WAF误拦截的实际操作,希望能给其他甲方朋友点启发。
1. prompt词怎么写?
提示词得说清楚拦截类型、要返回的数据格式,还有原始请求数据包,给大家个示例:
你是资深网络安全专家,专注 WAF SQL 注入拦截分析。现有 WAF 拦截请求包,拦截原因标注为【SQL 注入特征匹配】,原始数据包请求如下【<<<数据包内容>>>】。请按以下要求执行分析:核心判断维度:请求中疑似注入特征(如 UNION、AND/OR、引号拼接、注释符 --/# 等)是否为业务正常需求(如搜索框模糊查询、参数合法拼接);需核查:SQL 语法关键词是否为上下文合理使用,参数是否符合业务字段规则(如 ID 为数字类型却含字符拼接);严格以 JSON 格式返回结果,字段固定为:"isFalsePositive"(布尔值)、"reason"(字符串,需明确标注疑似注入特征位置、是否符合业务逻辑、拦截规则匹配合理性);分析基于数据包客观信息,不主观臆断,理由需具体可追溯。
2. AI准确率怎么样?
从实际用下来的效果看,我们用AI分析了1万条日志,它提示了32条可能是误拦截。人工复核后发现:
- 11条确实是误拦截
- 22条是WAF绕过攻击被拦截,本来就该拦,只是规则没预料到这种情况整体准确率还行,误判能接受。
3. 成本高不高?
我用的是豆包最新的doubao-flash-1015模型,分析1万条WAF记录才花了15块左右,成本低到离谱。主要是大模型输入花钱少,输出相对贵点,但我们让它只说关键信息,输出内容短,所以总成本就下来了。
4. 相比人工分析优势在什么地方?
以前上新WAF规则,盯着日志查误拦截真的太痛苦了,人工根本看不过来。而且做这个得是经验丰富的工程师,看多了眼睛花,还容易误判。大模型刚好能解决这些问题,不用歇着,也不挑经验。
5. 相比以前人工分析效率提高了多少?
现在当天的WAF日志,当天就能分析完,效率提升太多了。之前分析1万条记录,人工只花了0.5PD,大部分活儿都是大模型干的,省了好多时间。
6. 怎么降低成本?
不用每条WAF日志都让大模型分析,能省不少tokens:
- 抽样分析:同一IP访问同一个域名,随机抽5条拦截记录。如果分析后都是攻击,那其他的就不用查了
- 精简输出:让大模型只返回“是否误拦截+原因”,别写多余的,能少花不少钱
- 选对模型:找个性价比高的,既便宜又能保证分析质量
7. 大模型会误判吗?
会的,前面说准确率的时候也提过,不过误判程度能接受。
8. 大模型哪些地方会误判,为什么?
举个例子,商城有商品搜索功能,正常用户搜商品名不该被拦,但攻击者也会在搜索框输关键词试探。如果有人搜“Create Task”这种词,可能触发WAF规则,AI会判定是误拦截——因为它只输了这个词,没后续注入代码。但实际要结合业务看:国内商品大多是中文名,访问IP也该是境内的。如果是境外恶意标签IP,还搜这种奇怪的“商品名”,还有多次拦截记录,那大概率是攻击。这种误判能接受,但遇到这类日志,也得想想要不要调整WAF策略,避免真有商品叫这个名字被误拦。
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)



