AI大模型+N8N工作流的自动化安全测试流程初探
主站 分类 云安全 AI安全 开发安全 2025-11-14 04:8:0 Author: www.freebuf.com(查看原文) 阅读量:1 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

在之前几篇文章中,搭建试用了几款目前市面上比较热门的开源AI自动化(辅助)渗透测试工具,效果参差不一,总的来说这几款工具离AI自动化安全测试离工程化、商业化还有一定的距离。本文参考已有的方案,基于Web越权漏洞这个常见的细分漏洞,利用AI大模型从零搭建一个自动化安全测试流程。

针对Web越权漏洞,其实已经很多很好用的辅助插件可以方便渗透测试人员进行测试,比如BurpSuite中的Autorize插件,只需要自定义需要替换的认证头即可被动测试。基于AI的测试插件也有很多,构建提示词对流量返回包进行对比分析省去人工核验的步骤。下面就基于水平越权且只有单个测试账号的场景,跑通AI自动化修改参数发包->AI自动比对响应包检测漏洞的流程。

我们的目标是做一个水平越权检测系统,AI修改参数,重放,AI比对响应得出漏洞检测结果,既然目标清晰,就可以编写提示词让AI IDE(本文使用的是Trae)将整个系统实现出来,参考提示词:

我想利用大模型技术开发一个被动式的Web越权漏洞检测系统:

1.传统的自动化越权漏洞检测原理为burpsuite的Authorize插件,通过被动式捕获http流量,对指定请求头进行替换如cookie,判断返回包长度大小是否一致,一致则存在越权漏洞;

2.我发现上述检测手段存在局限:一个是设置固定的替换请求头太过死板,只能检测浅层的越权漏洞,有些认证头如cookie参数非常多,应该根据参数名的含义和特征进行动态替换,如uid=1001可以替换为加uid=1(可能为管理员)或者随机减数如uid=998,或者phone=13811111111替换为phone=18888888888,这些都需要大模型识别参数含义进行动态替换;

3.另一个是只通过判断返回包长度大小过于局限,需要大模型根据返回包内容进行判断,防止误报;

4.另外为了节约token开销,需要过滤掉返回包静态资源如html、js、文件、图片等等,只判断返回格式为json、xml、txt获取其他有效数据返回格式的请求包

最终经过多轮对话,AI编写除了一个检测系统和一个存在水平越权的测试应用。

启动检测系统,检测系统启动在5000端口,监听了一个8080端口的被动代理,待测应用只需要代理这个端口即可。

点击启动扫描启动测试应用,这个测试应用的多个接口存在水平越权漏洞,如订单查询接口/api/user/orders?user_id=1可以看到使用检测系统成功检测出了这个接口的水平越权漏洞。

从上面流程可以看出,我们仅仅通过对话的方式,就让AI做出了一个"看起来可用"的Web水平越权漏洞检测系统,甚至对于如何修改参数、如何对比响应包的提示词都是AI自行编写的。但是全部使用AI完成这套流程存在一个比较麻烦的问题,就是维护和扩展只能依赖AI继续完成,自己和别人都无法很好的理解和扩展这段代码,最后可能变成一个"屎山"系统。

N8N和coze、Dify等系统一样,都是原生支持AI大模型的工作流平台,拥有非常丰富的组件和社区模板,用户只需要在工作台拖动组件进行配置就可以完成,这样的方式对于维护和扩展来说都非常简洁直观。

首先先写一个代理脚本,作为初步的数据过滤和格式化,减少并标准化发送到n8n进行AI处理的流量。

然后让AI生成N8N工作流json文件,导入到N8N平台经过调整之后流程如下。

最后只需在主机上运行一个代理即可,N8N的工作流就相当于一个AI AGENT,完成了所有的测试工作。

如此以来,就对整个检测系统进行了解耦,N8N作为检测中枢,其中的所有模块都可以复用,如流量解析、请求重放、去重、告警通知等,如果想要测试其他漏洞,只需修改AI节点中的提示词即可,从维护和扩展上来说,都非常的方便直观。对于测试人员来说,不需要知道检测系统怎么启动运行,只需要启动一个代理接入即可;对于设计人员来说,只需要在N8N工作流平台中进行流程设计即可。这样的模式对于集成到CI/CD会更有优势。

本文仅对水平越权漏洞的AI全自动化发现流程进行了研究,而且并未考虑系统通用性、性能、提示词设计等因素,只是一次实验性的探索。从结果上来说,流程上是跑通了但是还没有落地可用,但在设计过程中,确实感觉让AI融入现有流程的效果确实比让AI从零实现一个目标的效果要好得多,很多单位内部其实都有了一套安全测试(运营)流程(工作流),可以让AI集成到这一流程中,既能够真实的节省人力,也不至于有很大的学习维护成本。

免责声明

1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。

2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。

3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/web/457389.html
如有侵权请联系:admin#unsafe.sh