一些问题
为什么要选择这5种漏洞
维度方面
这五种类型的漏洞构建了一个覆盖客户端、服务端、数据库、业务逻辑和网络架构的全方位威胁模型
注入类:主要是输入验证的失效问题(Payload生成部分验证)
- SQLi:数据层的攻击
- SSTI:代码应用层/中间层的攻击
- XSS:前端/客户端的攻击
逻辑与状态类:CSRF代表了业务逻辑层的漏洞
架构与边界类:SSRF代表了云原生与微服务架构下的威胁。
任务驱动交互方法的验证
- CSRF验证:CSRF 是典型的状态依赖型漏洞。检测它必须严格遵循“登录 -> 获取Token -> 构造请求 -> 验证状态变化”的任务链
- SSRF验证:SSRF往往需要智能体构造复杂的内部网络请求,甚至进行带外(OOB)检测,这需要智能体具备多步推理的能力,验证了任务驱动在复杂场景下的有效性。
验证闭环
- XSS:前端脚本攻击(验证 DOM 理解)
- CSRF:业务逻辑攻击(验证任务驱动/状态保持)
- SQLi:数据库注入(验证数据层攻击)
- SSRF:网络架构攻击(验证云/内网边界攻击)
- SSTI:服务端代码执行(验证 LLM 代码生成能力)
拟解决的关键问题
本研究致力于解决传统Web自动化扫描技术在面对现代复杂Web应用时,存在的“业务语义盲区”与“攻防对抗僵化”两大核心瓶颈。
- 解决因“业务语义缺失”导致的深层状态不可达与逻辑漏洞检测盲区问题
(对应:智能交互 + CSRF/SSRF检测)
传统Web扫描器采用基于“语法分析”与“浅层遍历”的运行范式,缺乏对Web应用业务逻辑(Business Logic)与操作意图(User Intent)的理解能力。这种“语义鸿沟”在交互与检测两个维度导致了严重的覆盖率缺失:
交互维度的不可达(Navigation):现代Web应用的核心功能通常隐藏在具有严格时序依赖与前置约束的业务流程(如“注册-登录-加购-结算”)深处。传统工具因无法规划复杂的多步操作序列,导致被阻挡在登录页或浅层菜单之外,无法触及深层业务逻辑所对应的代码路径。
检测维度的不可知(Logic Detection):跨站请求伪造(CSRF)与服务端请求伪造(SSRF)等逻辑型漏洞的判定,不依赖显式的语法报错,而依赖于对“业务意图完整性”与“网络边界合法性”的推理。传统工具因无法感知业务上下文,难以判定违背用户意图的状态变更或异常的内网调用。
本研究的突破点: 利用大模型的语义理解与规划能力,建立“任务驱动”的交互机制。通过将扫描目标拆解为具体的业务任务链,一方面实现对深层交互状态的精准导航,另一方面通过监控任务流中的状态异常实现对高危逻辑漏洞的推理与捕获。
- 解决因“静态规则固化”导致的Payload环境适应性差与WAF绕过难题
(对应:RAG/CoT Payload生成 + SQLi/SSTI/XSS检测)
传统Web扫描器在进行漏洞探测时,依赖庞大但静态的Payload字典库进行模糊测试(Fuzzing)。这种“暴力匹配”模式在面对差异化的代码环境与智能化的防护手段时,面临严峻挑战:
缺乏环境适应性(Context-Awareness):静态规则库无法感知注入点的代码上下文(如语言框架、过滤规则、闭合方式)。针对SQL注入、SSTI及XSS等强语法依赖型漏洞,盲目投递通用Payload往往导致语法错误或无效探测,漏报率极高。
缺乏动态对抗性(Adversarial Adaptation):在面对Web应用防火墙(WAF)的动态拦截时,传统工具缺乏类似人类黑客的“反馈-修正”机制。一旦特征码被拦截,扫描器无法根据拦截反馈进行Payload的变异(Mutation)或混淆,导致攻击路径中断。
本研究的突破点: 提出基于检索增强(RAG)与思维链(CoT)的智能Payload生成方法。将漏洞探测视为“受约束的生成任务”,利用外部知识库召回针对性攻击样本,并通过对抗反馈循环指导LLM进行多轮Payload变异,实现从“静态试探”到“动态绕过”的能力跃升
RAG规模
1. 数据规模建议 (Data Scale Recommendation)
建议知识库的数据规模如下(既能保证覆盖率,又在工程实现的可控范围内):
- 总数据量:约 2000 - 3000 条。
- 高质量攻击样本库:约 1000+ 条(每种漏洞约200条,覆盖不同语言、框架和场景)。
- 结构化 Payload 种子库:约 500+ 条(覆盖基础语法和变种)。
- 绕过规则库:约 500+ 条(针对主流 WAF 规则的原子变异策略)。
| ID | 适用漏洞 | 触发拦截特征 (Trigger) | 变异策略 (Mutation Strategy) | 变异示例 (Transformation) |
|---|---|---|---|---|
| BP-01 | SQLi | 关键字 UNION SELECT 被拦截 | 内联注释分割 (Inline Comment) | UNION/**/SELECT |
| BP-02 | SQLi | 关键字 OR 被拦截 | 逻辑符号替换 (Symbolic) | `** |
| BP-03 | SQLi | 空格被拦截 | 空白符替换 (Whitespace Subst) | %09, %0a, +, /**/ |
| BP-04 | XSS | 标签 <script> 被拦截 | 标签同义替换 (Tag Replace) | <svg/onload=...>, <iframe/onload=...> |
| BP-05 | XSS | 关键字 alert 被拦截 | 函数与编码混淆 (Func Obfuscation) | prompt(1), confirm(1), top['al'+'ert'](1) |
| BP-06 | SSTI | 关键字 __class__ 被拦截 | 属性获取器与编码 (Attr Getter) | `** |
| BP-07 | SSTI | 关键字 popen 被拦截 | 字符串拼接 (String Concat) | 'po'+'pen' |
| BP-08 | SSRF | IP 127.0.0.1 被拦截 | 进制转换 (IP Encoding) | 2130706433 (十进制), 0177.0.0.1 (八进制) |
| BP-09 | SSRF | 协议 file:// 被拦截 | 协议置换 (Protocol Swap) | dict://, sftp://, ldap:// |
| BP-10 | CSRF | Referer 校验拦截 | Meta 标签控制 (Meta Referrer) | <meta name="referrer" content="never"> |
修改思路
- 题目修改:基于任务驱动的专项漏洞智能体...
图


摘要
Web应用漏洞扫描程序是流行且有效的黑盒测试工具,通过探索和与用户界面交互来自动检测漏洞。尽管它们有效,但由于对工作流程的了解有限,这些扫描仪仍难以在现代web应用程序中发现更深层的状态。此外,扫描仪倾向于使用静态规则来覆盖最常见的注入情况,在其有效载荷中缺少多样性与针对性,导致出现大量请求和假阴性,还易被Web应用防火墙(WAF)等安全机制拦截。为应对这些挑战,本研究提出并实现了一种基于任务驱动的Web应用专项漏洞扫智能体,该智能体利用大语言模型以任务驱动的方式解析网页结构与交互语义,自动生成并执行多步任务,以触达传统黑盒扫描难以覆盖的深层输入点。同时,在漏洞检测部分,该智能体针对 XSS,CSRF,SSTI,SQIRL,SSRF漏洞会有相应的CoT检测步骤和ICL上下文学习技术,以指导LLM执行逐步推理和实时反馈机制以输出更加针对性的Payload,来绕过WAF或者基础防护(规则) 。
Web应用漏洞扫描器作为一种关键的黑盒安全测试工具,通过自动化探索与交互来发现安全风险。然而,在面对业务流程复杂的现代Web应用时,传统扫描器暴露两大核心瓶颈:首先,它们缺乏对工作流的语义理解,难以触及需要多步、有序操作才能访问的深层应用状态;其次,它们普遍依赖静态Payload规则库,这种方式不仅攻击针对性弱、误报漏报率高,且极易被Web应用防火墙(WAF)等主流防御机制识别并拦截。 为系统性地应对上述挑战,本研究设计并实现了一个基于大型语言模型(LLM)的任务驱动型Web漏洞扫描智能体。在深度状态探索层面,该智能体利用LLM强大的情景理解与规划能力,将网页DOM结构与交互元素解析为高级任务,并自主生成和执行多步操作序列,从而稳定导航至传统扫描技术难以覆盖的深层输入点。在智能漏洞检测层面,针对跨站脚本(XSS)、跨站请求伪造(CSRF)、SQL注入(SQLi)、服务器端模板注入(SSTI)及服务器端请求伪造(SSRF)等五种典型漏洞,本研究创新性地引入了思维链(Chain-of-Thought, CoT)与上下文学习(In-Context Learning, ICL)技术。通过为每种漏洞设计专有的CoT检测流程,并结合实时攻击反馈,智能体能够引导LLM进行严谨的逻辑推理,动态生成具备高度针对性和绕过能力的攻击载荷,显著提升了在复杂防护环境下的漏洞发现成功率。
研究目标
研究内容
基于任务驱动的深度交互方法
任务提取
任务提取。给定一个真实世界的网页,首先压缩页面以消除与语义无关的元素,并合并相似的元素以减小内容规模 ,然后将网页分割成特定的功能块,为LLM提供页面的结构信息 。
页面内容压缩
为了压缩页面内容,核心思路是消除语义无关的信息并合并相似页面,从而减小整体页面大小。首先整理所有主要的 HTML 标签和函数,并根据属性将元素分为三类:
- 样式元素 (Style elements):用于前端定制,如 CSS 样式;
- 关联元素 (Association elements):语义上相关的连续元素,例如
<p>和<br>; - 核心功能元素 (Core functional elements):支持核心应用功能的元素,例如表单 (forms)。
由于样式元素与语义理解无关,我们使用基于匹配的方法遍历并移除它们。对于关联元素(如连续的长段文本内容,通常按顺序出现且语义相似),我们仅关注其值和内容,然后对其内容进行基于语义的合并与缩写。对于核心功能元素,我们递归检查其内容和子元素,剔除无关内容,仅保留相关的功能和语义信息。
然后将过滤后的页面元素,结合特定的任务提示词,一起交给大模型,生成当前页面的任务。
页面相似性合并:
在消除了页面中不相关的信息后,合并应用程序中可能广泛存在的相似页面。为此,使用多维相似性度量来评估它们的相似性。首先检查两个页面的 URL 是否遵循同源策略。在此基础上,使用 LCS 算法来综合衡量 URL、请求路径和查询参数的相似性,确保它们满足预定义的相似性阈值。考虑到页面渲染的动态特性,仅凭 URL 相似性无法完全捕获页面间的相似性关系。因此,还分析了页面特有的 HTML 信息。由于 DOM 结构反映了功能特征,而样式表示视觉特征,综合评估它们的相似性。具体来说,使用树编辑距离来比较 DOM 结构相似性,使用 Jaccard 相似系数进行样式比较,并将这些度量结果与预定义的权重相结合,得出整体相似性。
页面摘要的生成:
为了帮助 LLM 理解内容,基于功能对 HTML 页面进行了分段。主要依据 HTML DOM 树的层次结构。具体来说,相关功能通常被分组在同一分支内,而相邻的功能和元素倾向于位于树的同一层级。树的父子关系和分支模式反映了元素之间的依赖关系。利用这些特征,能够提取出功能上和语义上相关的最小块。然后将这些最小块使用结构化的字符串表示,进一步表示为该页面的摘要(Page Abstraction)。同时,会将这些元素最小块与页面摘要进行映射并存入到数据库中。
任务执行
在任务执行部分,主要利用大模型的语义功能进行具体动作的规划与指导。 首先会将当前的任务目标,当前的页面摘要以及历史操作记录,一同整合到一个精心设计的Prompt中,提交给大模型。大模型基于对任务的理解和当前页面的状态,推理出最合理的下一步动作,并输出一个标准化的动作指令(Action Abstraction),如“点击ID为6的按钮”或“在ID为5的输入框中填入文本test”。
然后,该模块会依据在任务提取阶段提取的元素与页面的数据库映射关系,将动作指令转化为对Web浏览器的真实操作。基于Playwright等无头浏览器控制引擎,精确地模拟用户的点击、输入、提交等行为。执行模块的操作会改变Web应用的状态,从而进入到下一个动作执行循环,直到任务完成或LLM无法进行判断,达到任务目标的应用页面。
基于思维链与上下文学习的多漏洞智能检测方法
为了解决传统扫描器Payload固化、易被静态规则或者WAF拦截的问题,设计了一种基于思维链与上下文学习的多漏洞智能检测方法。针对Web应用中五种典型的漏洞类型,针对其面临的拦截问题,设计了相应的绕过步骤,形成了各自的长链接推理任务,通过思维链的形式来增强大模型的推理能力。同时,针对这五种典型的漏洞类型,会通过上下文的学习并结合实时反馈机制,来迭代地优化输出。
链式思考(chain-of-thought,CoT)
- LLM 的推理能力可以通过 <输入, CoT, 输出> 提示格式得到显著增强。这里的 CoT 是一系列中间自然语言推理步骤,最终导向结果。
- 为了实现分步推理,将 Payload 生成过程基于不同漏洞类型的任务进行了分解。不同漏洞针对其面临的防护,拥有特定的绕过关键步骤。
上下文学习
- 由于特定漏洞类型的检测需要专业的知识,研究应用了上下文学习的技术,为这些漏洞类型提供了少量样本以增强大模型推理能力
- 样本收集自相关的研究、静态规则库、Github仓库和真实世界的漏洞报告。
- 在上一个任务驱动的交互过程中,存储了关于应用页面的信息和元素,会作为上下文的一部分填入提示词中
实时反馈机制 研究设计了一个实时反馈机制,使用验证器来验证响应并收集实时反馈,迭代地完善 Payload 生成,来达到拦截的绕过与Payload生成的目的:
根据漏洞检测任务,大模型生成了特定漏洞的初始Payload,然后根据特定漏洞的思维链步骤发出相应的攻击请求,该拦截器对响应进行验证,判断攻击是否成功。若被拦截,则进入绕过思维链中的下一个步骤,提供拦截信息给大模型来进一步优化Payload,为防止无限循环调整,限制每个验证器最大反馈迭代次数为5次。
XSS CoT示例:
- 接收XSS漏洞扫描任务,获取初始模版和上下文信息
- 结合上下文信息生成初始Payload
- 构建攻击向量并校验
- 发送攻击请求,接受验证器的响应
- 若被拦截则提取拦截关键信息
- 结合拦截信息与WAF绕过技术模版优化Payload
- 继续攻击任务
- 若未被拦截则进行XSS成功验证
- 状态码验证
- DOM变更检测或错误诱导检测
实验
本节旨在通过一系列系统性的、可复现的实验,对本文提出的基于任务驱动的Web漏洞扫描智能体的有效性、先进性与实用价值进行全面的量化评估。实验围绕本研究拟解决的两大关键问题进行设计,旨在达成以下三个核心目的:
- 验证深度交互页面的探索能力:
- 评估基础漏洞检测的能力:
- 检验动态对抗与拦截绕过能力:
实验一:覆盖率验证
- 对比基线:BurpSuite,BlackWidow,BFS爬虫及RandBFS爬虫。
- Benchmark:测试了广泛使用的开源web应用程序,每个应用程序都有超过100个GitHub明星,平均有15,000个明星,反映了现实世界的采用。应用程序部署在单独的Docker容器上,以确保测试结果的隔离和一致性。
| 类别 | 应用名称 | 架构/技术特点 | 价值 |
| 真实应用 | OpenCart | PHP, MVC | 真实的电商业务流程 |
| GitLab | Ruby on Rails, SPA | 极其复杂的 DevOps 平台,深层状态多 | |
| Moodle | PHP | 复杂的在线教育平台,用户角色和权限多 | |
| WordPress | |||
| Z-Blog | |||
| DVWA |
需要包括:
- Our、BurpSuite和BlackWidow在服务器上的各种web应用程序中覆盖的页码。
- Our、BurpSuite和BlackWidow的成功请求率。
- 来自各种扫描仪的关于DVWA的不同功能的请求表。每个单元格表示此函数的所有请求的百分比
WAF:ModSecurity
使用原因:In this research, we use ModSecurity [11], since it is an open-source WAF and used in conjunction with Apache and Nginx servers. It uses rules to identify and mitigate malicious HTTP/S requests. These rules form the backbone of ModSecurity’s ability to protect web applications by defining patterns, behaviors, and conditions that determine what traffic should be allowed, denied, or flagged for review. Each ModSecurity rule is written in its SecRule directive and typically includes the following:
- Input to Monitor—specifies which part of the request or response to inspect (e.g., headers, parameters, or body).
- Operator—defines the condition to match (e.g., checking for specific patterns or keywords).
- Action—Specifies what to do if the rule is triggered (e.g., deny, log, or redirect). The OWASP CRS [12] is a set of generic attack detection rules for use with ModSecurity. Commercial WAFs employ similar proprietary rule sets. The security rules are manually updated by cybersecurity personnel in response to observed threats. In this work, we demonstrate how generative AI can be used to proactively and automatically enhance the robustness of ModSecurity. It should be noted that the proposed GenSQLi framework is generic and can be applied to strengthen any WAF against SQLi attacks.
Hand-Crafted Rules
待修改
- 漏洞靶场数据集
- CSRF 绕过能力评估、SSTI绕过能力评估、SSRF绕过能力评估
4.3.1 分层级异构验证数据集构建
为了全面验证智能体在不同业务复杂度与防护等级下的适应性,本研究基于 Docker 容器化技术,构建了包含真实业务层、基础验证层及动态对抗层的三层级异构测试环境。所有测试对象均独立部署,以确保环境隔离性与状态一致性。
1. 真实业务层(Real-world Business Layer)
为评估智能体在复杂逻辑下的深度交互与状态探索能力,本研究选取了 6 款具有代表性的开源 Web 应用构建业务层数据集。这些应用涵盖 PHP 与 Ruby 技术栈,架构包含传统的 MVC 与现代的 SPA,具备高度复杂的业务逻辑。
电商与支付类:选取 OpenCart,包含完整的商品浏览、购物车结算及用户账户管理闭环,用于验证智能体对多步序列操作的规划能力。
复杂管理与协作类:选取 GitLab(DevOps平台)与 Moodle(在线教育平台),具有大量动态加载内容(AJAX)、多级菜单及严格的角色权限控制(RBAC),用于验证对深层配置页面的触达能力。
内容管理类:选取 WordPress 与 Z-Blog,涵盖文章发布、插件配置等富交互场景。
2. 基础验证层(Basic Verification Layer)
为评估智能体在无防护环境下对五种核心漏洞的基线检测能力,构建包含标准化靶场的数据集。
DVWA (Medium Level):作为基础对照组,涵盖 XSS、SQL 注入、CSRF 等常见漏洞,用于验证Payload的有效性。
WebGoat:侧重于逻辑漏洞与复杂注入场景(如二阶 SQL 注入、SSTI),用于验证智能体对上下文依赖型漏洞的推理能力。
3. 动态对抗层(Dynamic Adversarial Layer)
为评估智能体在受限环境下的Payload 变异与 WAF 绕过能力,本研究构建了高保真的动态攻防数据集。
WAF 环境配置:在 DVWA 前端部署 ModSecurity (v3.0),并加载 OWASP Core Rule Set (CRS v4.0)。设置两种防护模式:
CRS Default:模拟通用的生产环境防护。
Paranoia Level 2:模拟高安全性需求环境,启用对特殊字符与编码的严苛过滤。
漏洞场景集:在此环境下构建了 40 个 独立的漏洞场景(含 20 个 SQL 注入场景与 20 个 XSS 场景),涵盖联合查询、盲注、反射型及 DOM 型 XSS 等细分类型,作为检验对抗演化能力的试金石。
4.3.2 基于任务完成度的多维效能评估指标体系
打破传统扫描器仅关注“检出数量”的单一维度,本研究结合任务驱动架构的特性,制定了三个维度的量化评估指标。
- 深度交互能力评估指标
状态空间覆盖率(State Coverage):定义为智能体在规定时间内探测到的唯一有效页面数量(剔除重复参数与同质页面),用于衡量对应用边界的探索广度。
请求有效率(Request Validity):定义为返回状态码为 2xx 或 3xx 的请求占比。该指标反映智能体任务规划的质量,旨在评估是否减少了盲目探测导致的无效流量。
功能点关注度(Functional Focus):统计请求在“核心功能区”(如漏洞页面、业务页面)与“通用功能区”(如登录、登出、静态资源)的分布比例,评估智能体是否能像专家一样将算力聚焦于高价值区域。
- 基础检测能力评估指标
采用经典的混淆矩阵指标评估漏洞检测的准确性:
检出数(TP)与漏报数(FN):衡量检测的全面性。
误报数(FP)与准确率(Precision):衡量检测结果的可靠性,特别是在 CSRF 等易误报漏洞上的表现。
- 动态对抗能力评估指标
针对 RAG 与反馈闭环机制,引入动态过程指标:
WAF 绕过成功率(Bypass Rate):在 WAF 开启状态下,成功触发漏洞的场景占比。
平均变异收敛轮次(Average Mutation Turns):智能体从首次被拦截到生成成功 Payload 所需的平均迭代交互次数。该指标用于量化智能体利用反馈信号进行策略调整的效率(收敛速度)。
4.3.3 基线对比实验设计
为了验证方法的先进性,本研究设计了多组对比实验,选取了不同类型的代表性工具作为基线(Baseline):
工业界标准:Burp Suite Professional(扫描器标杆)与 AWVS。
学术界代表:Black Widow(由各类爬虫与扫描算法集成的先进工具)。
专用工具:SQLMap(用于 SQL 注入对抗能力的对比)。
传统算法:BFS Crawler(广度优先搜索)与 RandBFS(随机化广度优先搜索)。
通过在上述异构数据集中与基线工具进行控制变量测试,记录并分析各维度指标数据,从而系统性地论证本研究提出的智能体框架在解决深度状态探索不足与 Payload 易被拦截两大核心问题上的有效性。
