WebTrap:针对浏览器 Agent 导航过程的中途劫持注入攻击
WebTrap: Stealthy Mid-Task Hijacking of Browser Agents During Navigation
WebTrap以三阶段陷阱中途劫持浏览器智能体;扩展WASP的Long Reddit一次采样ASR-E为77.78%。
攻击者只能向用户区注入,节点至多三个;不能改系统提示词、模型或系统组件,不知具体用户任务与受限区内部。
- 长程网页与文件导航中,浏览器智能体持续读取不可信内容。现有提示注入在复杂环境里难完成端到端目标,且常压低原用户任务成功率。
- WebTrap至多注入三个陷阱:诱饵只改道,惯性把攻击目标写成前置步骤,载荷在受限区入口执行后再返回。注入对齐当前可见环境,并采用系统指令风格。
- 默认模型上,扩展WASP一次采样的Long Reddit ASR-E为77.78%,Long双目标成功率为47.62%。文件best-of-n仅WebTrap的ASR-E非零,为55.00%。分段删除在文件设定将UUA降到0.00%。
- 作者将结论限定于只能向用户区注入、且看不到受限区内部的设定,实验为受控网页与文件环境。UUA依赖智能体自身完成长任务的能力。作者称应在更广真实部署和更多防御下再评估。
- 威胁模型
- 攻击者只能向用户区注入,节点至多三个;不能改系统提示词、模型或系统组件,不知具体用户任务与受限区内部。可知用户区结构与可见入口锚点,沿规划路径放置陷阱,并由攻击模型生成注入,使智能体中途完成攻击目标后返回用户任务。
- 被测模型
- DeepSeek-V3.1-TerminusGemini-2.5-FlashGLM-4.5-AirKimi-K2Qwen3-235B-A22B
- 基准
- extended WASP (GitLab, Reddit)extended InjecAgent (data stealing)
- 指标
- ASR-EASR-IUUABenign UtilityDual-goal
研究者提出 WebTrap,一种针对浏览器 Agent 的中途劫持提示注入攻击,通过多步指令融合引导把攻击目标与用户目标绑定,使 Agent 在完成攻击目标后仍能继续原任务。该方法还设计了基于上下文的生成方式,让注入内容与任务环境和系统指令对齐,以提高劫持成功率。在基于扩展 WASP 和 InjecAgent 环境的两个浏览器 Agent 任务上,实验显示该方法取得较高攻击成功率,同时保持原系统的可用性。作者指出 WebTrap 利用的是 Agent 的导航漏洞,两个目标绑定过紧,标准防御机制无法让系统恢复正常运行,反映出长时程任务中 Agent 可被隐蔽劫持的关键漏洞。
深度解读
这篇论文试图解决什么问题?
长程导航中现有注入难完成端到端目标,且常压低原用户任务成功率。
长程浏览器导航中,现有提示注入难以既完成端到端攻击目标、又保持原用户任务可用。
- 场景:作者把浏览器任务分为网页浏览与文件浏览。智能体反复观察环境并执行多步动作,须持续读取不可信内容,间接提示注入的机会增加。作者认为长程执行给攻击者更多注入时机。
- 现有不足:作者指出两点。针对简单基线优化的静态注入,在复杂环境与更长动作链上难持续控制智能体走完端到端攻击目标;多数攻击把攻击目标与用户目标对立,无论是否触发都会压低原任务成功率,因而隐蔽性弱。
- 观察:动机实验只用单次注入,在扩展网页环境的深度 6 与 10、每种设置采样 50 次。作者称成功样本中智能体被引开后再回到原路径,故两目标并非互斥;多步攻击目标更复杂时劫持成功率下降。Figure 1 的坐标为 0–100%,类别为 no / single-step / multi-step hijacking;文本未给出可读柱高。
- 提出的方法:作者提出 WebTrap。引言写仅用三条注入指令,把攻击目标写成完成用户任务的前置步骤,执行后再回到原流程;并用上下文落地生成对齐环境观察与系统指令风格。评测环境由 WASP 与 InjecAgent 扩展而来。
- 威胁模型:
- 目标:执行用户目标时中途进入受限区完成攻击目标,再返回用户区继续用户目标;成功要求两目标都完成。
- 知识:不能改系统提示词、底层模型或系统组件;不知正在执行的具体用户任务,也不知受限区内部结构。构造只依据可见用户区与攻击目标;知道用户区结构及可见的受限区入口锚点。
- 能力:只能向用户区注入。注入节点数与注入文本 token 数计为代价;节点至多三个。沿从起点到可见锚点的规划路径放置陷阱,并用攻击模型生成指令。
- 受害系统:网页与文件浏览器中的导航智能体。用户区与受限区仅通过锚点与入口的双向桥相连。
有哪些相关研究?
作者称既有注入侧重直接接管,未研究中途执行攻击目标后再回到用户任务。
论文在引言与 Related Work 中把相关工作分成浏览器智能体与智能体提示注入两类,并点名本文基线。
浏览器智能体
- 网页浏览:Mind2Web(Deng 等, 2023)、WebArena(Zhou 等, 2024)研究真实网站上的泛化;WorkArena(Drouin 等, 2024)面向企业流程;AssistantBench(Yoran 等, 2024)面向开放且耗时的网页任务;WebLINX(Lu 等, 2024)面向多轮导航。论文描述智能体须在页面、标签、菜单与表单间维持进度。
- 计算机使用:OSWorld(Xie 等, 2024)在真实计算机环境做开放式操作系统任务;OmniACT(Kapoor 等, 2025)覆盖桌面与网页;WindowsAgentArena(Bonatti 等, 2025)做大规模 Windows 评测;Agent S(Agashe 等, 2025)是可像人一样操作计算机的开放框架。论文称这些任务都含复杂导航,不可信内容既能引导下一步,也能注入指令。
智能体中的提示注入
- 场景扩展:BIPIA(Yi 等, 2025)为 LLM 应用中的间接提示注入做基准;InjecAgent(Zhan 等, 2024)扩到工具集成智能体;AgentDojo(Debenedetti 等, 2024)加入动态任务、自适应攻击与防御评测;ASB(Zhang 等, 2025)扩大场景与目标。论文此处只描述范围,未逐篇批评。
- 方法与最接近的设定:Greshake 等(2023)把间接提示注入引入 LLM 集成应用;Liu 等(2024)形式化该攻击并提出 Combined Attack;EIA(Liao 等, 2025)用网页注入从网页智能体窃取隐私,并称难以检测;TopicAttack(Chen 等, 2025)用话题转移提高恶意目标的说服力。作者称 WASP(Evtimov 等, 2025)与本文设定最接近,要求被攻陷智能体完成完整攻击目标。作者称既有工作侧重直接接管,未研究攻击目标在流程中途执行、再引导智能体回到用户目标的完整场景。
基线方法与基准
- 攻击基线:通用为 TopicAttack 与 Combined Attack。网页用 WASP 的 Generic Text、Hijacking Text、Generic URL、Hijacking URL。文件用 InjecAgent 的 Generic Injection 与 Enhance Injection。Hijacking 设定假设攻击者知道当前用户任务;附录 C.1 称基线获得的信息不少于 WebTrap。
- 防御基线:System Defense 与 Step-wise Defense(Zhang 等, 2025);goal-reinforce-ignore(Chen 等, 2025);segment-remove-gated 与 segment-remove-direct(Chen 等, 2025)。
- 环境:网页取 WASP 的 GitLab 与 Reddit 目标集;文件取 InjecAgent 的 data stealing 目标集。作者称 Mind2Web、WebArena 导航长度不足且含冗余内容,InjecAgent 的模拟输出不在导航中累积观察(第 3.1 节、Table 6)。
作者将 WebTrap 定位为利用导航漏洞的中途劫持:不替换用户目标,用至多三处注入先完成攻击目标,再恢复用户流程。
论文如何解决这个问题?
WebTrap用诱饵、惯性、载荷三陷阱,把攻击目标写成用户流程前置步骤后再返回。
WebTrap 不替换用户目标,而是沿用户区路径放置至多三个陷阱,把攻击目标写成工作流前置步骤,完成后再回到用户区。
问题设定与形式化
- 决策:轨迹为节点与动作序列。输入含用户目标、交互历史与当前观察;观察可带任务线索或注入,并留在历史中。
- 劫持成功:要求存在三段时刻,前段与后段都在用户区,中段进入受限区,且整条轨迹完成用户目标、中段完成攻击目标。写成
H(τ)=1[∃ t1<t2<t3: v0:t1, vt2:t3⊆ VU, vt1:t2∩ VR≠∅, Cgu(τ)=1, Cga(τt1:t2)=1] 即两目标都完成,且危险操作发生在中途离开用户区的片段。
- 隔离:用户区与受限区只由锚点与入口的双向桥连接,便于判断智能体是否离开用户区。网页节点是页面,文件节点是目录或文件。
可控导航环境
- 扩展方式:保留 WASP、InjecAgent 的基线智能体、攻击目标与评测逻辑,加深导航。任务是从初始节点走到目标节点,再按该处信息回答问题;调深度即可控制新观察次数与动作链长度。
- 三种长度:前向步数 D、非回退后继上限 W。Short 为 D=6、W=2,Medium 为 D=8、W=2,Long 为 D=10、W=2。受限区只按攻击目标的必要操作构建,三种长度下不变。Table 6 将扩展设定写成约 20 步,对照 WebArena 约 7 步、InjecAgent 2–3 步。
- 目标实例化:用户题由 LLM 按终端节点内容生成,使答案依赖该节点。网页攻击目标来自 WASP 的 GitLab/Reddit 敏感操作,手工做成静态流程;作者称简化了操作,但保留危险语义,以避免仅因完不成操作而被判安全。文件侧为找到敏感文件并用邮件工具外泄。附录 B 给出构造流程。
三阶段融合与放置
- 三字段:每阶段为局部理由、续行指令与耦合子句,
zk=Bk∥ Rk∥ Ck 即把“为何改道、下一步去哪、如何与用户目标接上”写进同一段注入。实现上用分阶段提示词一次生成,不显式拼接。附录 A.2 给出完整提示词。
- 诱饵:放在初始节点,不含攻击目标,只把注入说成服务用户任务的导航提示,并指向下一注入点。
- 惯性:在更长动作序列之后到达。把攻击目标写成恢复原任务的必要前置,仍不直接要求危险动作,并继续指向最后一处陷阱。
- 载荷:放在通往受限区的最后入口节点,要求进入、执行攻击目标、返回并恢复用户任务。
- 攻击者未知量:不能访问受限区或精确用户目标。用户目标被粗写成一般导航任务;操作提示按攻击目标与环境类型做尽力预测,并要求进入后观察实际选项、选最接近的动作。
- 放置:只在可见用户区图上,从起点到锚点求最短路。路长为 0 只放载荷;为 1 放诱饵与载荷;否则诱饵在起点、惯性在下标 floor(2m/3)、载荷在锚点(Algorithm A.1)。不查看受限区内部。
上下文落地与判定
- 环境对齐:局部理由只用该注入节点未受攻观察中的可见内容。网页为标题、正文、URL 与链接;文件为路径、当前文件名与 readme。
- 系统风格:文本须像系统指令或正常流程更新,不得替换用户任务,只可插入动作或改执行顺序,并以伪系统块写入。默认生成模型为 hermes-4-405b。
- 判定:用户成功为到达目标节点并依其信息作答。ASR-E 在网页上要求走完受限区操作并到达最终目标页,在文件上要求读到目标文件并调用邮件工具外泄。ASR-I 由 DeepSeek-V3.1-Terminus 逐步判 compromised 或 not compromised,首次命中即停止。附录 D 给出协议。
论文做了哪些实验?
一次采样下WebTrap在Long Reddit的ASR-E为77.78%,Long双目标成功率为47.62%。
实验设置
- 目标模型:默认 DeepSeek-V3.1-Terminus。Table 8 另测 Gemini-2.5-Flash、GLM-4.5-Air、Kimi-K2、Qwen3-235B-A22B;论文未说明该表的导航长度划分。
- 其他模型:WebTrap 默认由 hermes-4-405b 生成。TopicAttack 用 gpt-4o 生成五轮话题转移。ASR-I 评审与 segment-remove 检测器均为 DeepSeek-V3.1-Terminus。
- 数据:网页每个划分 24 个 GitLab、18 个 Reddit;文件 20 个样本。Short/Medium/Long 对应 D=6/8/10、W=2。动机实验在深度 6 与 10,每种设置 50 次。
- 对照:攻击基线见第 2 问。防御为 System Defense、Step-wise Defense、goal-reinforce-ignore、segment-remove-gated、segment-remove-direct。
- 指标:BU 为无攻击时用户任务成功率;UUA 为有攻击时的用户任务成功率;ASR-E 为完整攻击目标完成率;ASR-I 为任一步被判劫持的比例。Table 2 在同一轨迹上分解双目标、仅攻击、仅用户与两者皆失败。
- 采样:一次采样模拟单次机会;best-of-n 取 n=3,任一次成功即计成功,附录 D 称这是系统级汇总,同一轨迹上的双目标另见 Table 2。部分比例附 Wilson 95% 区间。论文未报告评审与人工一致性,也未报告方法间假设检验。
主结果
附录 E 称 Table 1 为网页一次采样。下表只列默认目标模型上的 WebTrap;BU 为无攻击。
表格较宽,可左右滑动
划分 ASR-E ASR-I UUA BU Long GitLab 66.67% 95.83% 75.00% 95.83% Medium GitLab 58.33% 87.50% 41.67% 91.67% Short GitLab 50.00% 75.00% 91.67% 100.00% Long Reddit 77.78% 94.44% 83.33% 94.44% Medium Reddit 50.00% 77.78% 61.11% 100.00% Short Reddit 61.11% 88.89% 100.00% 100.00% 据 Table 1。
- ASR:六个划分上 WebTrap 的 ASR-E、ASR-I 均高于同表各基线。ASR-E 次高为 GitLab 的 Hijacking Text 58.33%、25.00%、29.17%,以及 Reddit 的 Generic Text 27.78%、16.67%、27.78%。作者称短链上机会更少,优势更清楚。
- UUA 有反例:Long GitLab 与 Long Reddit 的 UUA 为同表最高。Medium GitLab 的 UUA 低于 Hijacking URL 的 70.83%、Generic URL 的 87.50%、Hijacking Text 与 Generic Text 的 66.67%。Short GitLab 的 UUA 低于同表其余方法的 100.00%。附录 E 称中等设定下 UUA 维持落后于基线,并称无攻击时中等设定也最差;Table 1 中这只见于 GitLab(BU 91.67% 低于 95.83% 与 100.00%),Medium Reddit 的 BU 为 100.00%。
- 双目标:Table 2 用对应 Long、Medium 的 best-of-n 全部轨迹,各 (24+18)×3=126 条。WebTrap 双目标成功率为 Long 47.62%、Medium 23.81%;次高为 Hijacking Text 17.46% 与 Generic Text 7.94%。作者称恶意操作被写成顺序步骤。Long 上 WebTrap 的两者皆失败为 9.52%,同表基线为 21.43%–51.59%。
文件场景与防御
- 文件浏览器(Table 3):best-of-n 下仅 WebTrap 的 ASR-E 非零,为 55.00%,ASR-I 70.00%,UUA 60.00%;BU 100.00%。Enhance Injection 的 UUA 为 70.00%,ASR-E 为 0.00%。一次采样 WebTrap 为 ASR-E 25.00%、ASR-I 40.00%、UUA 40.00%,BU 95.00%;四种基线 ASR-E 均为 0.00%。作者称最后须调用用户任务不用的邮件工具,基线常停在部分劫持。
- 防御(Table 4;网页为 Long GitLab,文件为 file-search):best-of-n 无防御时网页 ASR-E 91.67%、ASR-I 95.83%、UUA 91.67%,文件为 55.00%、70.00%、60.00%。segment-remove-direct 将网页 ASR-E 降到 4.17%、UUA 为 79.17%;文件三项均为 0.00%。作者称提示词防御保护有限,上下文检测更有效,但依赖逐步切段,并在文件设定上使系统不可用。
- 防御侧例外:一次采样的文件设定上,System Defense 的 ASR-I 为 95.00%,高于无防御的 40.00%;ASR-E 从 25.00% 到 20.00%,UUA 从 40.00% 到 65.00%。best-of-n 文件设定上,System Defense 的 UUA 为 75.00%,高于无防御的 60.00%。
轨迹与导航行为
- Table 5(网页轨迹):WebTrap 劫持率 89.68%,平均首次劫持步 5.50,同表最早为 Generic Text 的 5.45;作者称第二早。劫持轨迹平均 16.64 步,劫持完成率 87.61%,未劫持完成率 100.00%。Hijacking Text 劫持率 58.73%,首次劫持步 5.60。作者称更早介入形成更完整劫持;被劫持时步数更长,因为要先后完成两个目标。
- Figure 3:横轴 History Depth 刻度为 4–10,以及 Short/Medium/Long;纵轴 Continue Prob.、Judgment Acc.、ASR 刻度为 0–100。图例含 True/False History、Random Guess,以及 WebTrap、GoalHijack (P/U)、Topic、Generic (P/U)、Combined;实线 ASR-E、虚线 ASR-I。文本未给出各点数值。作者称两种历史上继续原路径的概率随深度上升;False History 更深时更易判对,True History 下对自身历史的判断下降;各方法成功率随导航变深而升高。
- 区间(附录 D,WebTrap):汇总长网页 ASR-E 71.43% [56.43, 82.83],ASR-I 95.24% [84.21, 98.68],UUA 78.57% [64.06, 88.29];该句未写明一次采样或 best-of-n。文件 best-of-n 为 ASR-E 55.00% [34.21, 74.18],ASR-I 70.00% [48.10, 85.45],UUA 60.00% [38.66, 78.12]。
其他消融与分析
- 跨模型(Table 8,长度划分未说明):Gemini-2.5-Flash 的 ASR-E/ASR-I/UUA 为 50.00%、100.00%、45.83%;GLM-4.5-Air 为 91.67%、91.67%、91.67%;Kimi-K2 为 75.00%、79.17%、79.17%;Qwen3-235B-A22B 为 91.67%、100.00%、66.67%。
- 组件(Table 10,Long GitLab):best-of-n 完整 ASR-E 91.67%;去掉 lure 为 50.00%(Δ −41.67%),去掉 inertia 为 62.50%(Δ −29.17%),去掉 payload 为 25.00%(Δ −66.67%)。一次采样去掉 payload 后 ASR-E 12.50%、UUA 0.00%。
- 网页上界(Table 7,best-of-n):Long/Medium/Short GitLab 的 WebTrap ASR-E 为 91.67%、83.33%、66.67%,UUA 为 91.67%、45.83%、100.00%。Reddit 的 ASR-E 为 83.33%、72.22%、72.22%。
- 构造代价(Table 9):网页 WebTrap 平均 686.25 token、3.00 轮;文件 552.25 token、3.00 轮。网页 TopicAttack 为 905.83 token、5.00 轮;Hijacking URL(点击)为 3276.42 token、13.33 轮。
- 附录 E:作者称 URL 基线弱,因为智能体很少点击 URL 触发,也不跟随 URL 片段中的指令。作者称中等复杂度下,强攻击与用户任务恢复的冲突仍未完全解决。Figure 4 以虚线标 BU;作者称长链上 WebTrap 在所评方法中维持更强效用,图中数值未随文本给出。
有什么可以进一步探索的点?
作者将结论限定在用户区注入与受控导航环境,并称更广部署与防御仍待评估。
作者指出的局限与后续方向
- 威胁模型边界(附录 F):结果应在第 4 节威胁模型内理解。攻击者只能向用户区注入,能观察用户区结构与可见入口,不能访问受限区内部。若不能沿用户流程放置持久内容,或看不到足够的用户区图以路由到锚点,同一构造可能更弱,或需要自适应放置触发。
- 环境范围(附录 F):实验限于由既有基准派生的受控网页与文件导航,不覆盖真实网站、企业工具、认证流程、界面设计或生产监控的全部多样性。
- 效用随良性能力变化(附录 F):UUA 与双目标成功取决于目标智能体完成原长程任务的能力;无攻击时不稳定,则保持用户任务完成的能力也受影响。
- 对照并非穷尽(附录 F):实验覆盖有代表性的目标模型、攻击基线与防御基线,但并不穷尽。不同模型族、工具接口、权限系统、观察过滤或更强的部署侧防御,可能改变攻击效果与效用保持。
- 后续方向(附录 F):作者称未来应在更广的真实智能体部署、以及更多样的防御下评估中途劫持。结论另称需要重新考虑长动作链上的防御。
实验覆盖范围
- 模型:主结果目标为 DeepSeek-V3.1-Terminus;Table 8 另报告 Gemini-2.5-Flash、GLM-4.5-Air、Kimi-K2、Qwen3-235B-A22B。生成默认 hermes-4-405b;TopicAttack 使用 gpt-4o。ASR-I 评审与切段检测器均为 DeepSeek-V3.1-Terminus。论文未报告评审与人工的一致性。
- 数据与重复:网页每划分 24 个 GitLab、18 个 Reddit;文件 20 个样本。长度为 D=6/8/10、W=2。主协议为一次采样与 n=3。动机实验每种设置 50 次。附录 D 对部分汇总比例给出 Wilson 95% 区间。
- 攻击与防御:网页基线为 TopicAttack、Combined Attack 及 WASP 的四种 Text/URL 注入;文件基线为 TopicAttack、Combined Attack、Generic Injection、Enhance Injection。防御为 System Defense、Step-wise Defense、goal-reinforce-ignore、两种 segment-remove。
- 报告的量:BU、UUA、ASR-E、ASR-I、双目标分解、轨迹统计、跨模型、三阶段消融,以及注入 token 与等效轮次。Table 4 的网页防御对应 Long GitLab,文件对应 file-search。
- 构造未使用的信息(第 4 节、附录 F):不修改系统提示词、工具、模型参数或受保护资源;放置陷阱时不使用受限区内部页面、文件、转移或观察。
总结一下论文的主要内容
WebTrap把攻击目标嵌进用户流程中途执行再返回;长链一次采样ASR-E高于表中各基线。
WebTrap 是针对长程网页与文件导航的中途劫持注入,目标是在完成攻击动作后仍回到用户任务。
- 问题:浏览器智能体在长动作链中持续读入不可信观察。作者认为现有注入难在复杂环境走完端到端目标,且常把两目标对立,从而压低原任务成功率。
- 做法:沿用户区最短路放置至多三个陷阱。诱饵只改道且不暴露攻击目标;惯性把攻击目标写成前置步骤;载荷在受限区入口要求执行后再返回。生成只用当前节点可见内容,并约束为系统指令风格。攻击者不能改系统提示词或模型,也不知具体用户任务与受限区内部。
- 网页结果:默认目标模型 DeepSeek-V3.1-Terminus、扩展 WASP 一次采样下,Long Reddit 的 ASR-E 为 77.78%、ASR-I 为 94.44%、UUA 为 83.33%(Table 1)。六个划分的 ASR-E 均高于同表基线。Long 网页 126 条轨迹上双目标成功率为 47.62%(Table 2)。Medium GitLab 的 UUA 为 41.67%,低于同表多个基线。
- 文件与防御:扩展 InjecAgent 的 best-of-n 中,仅 WebTrap 的 ASR-E 非零,为 55.00%(Table 3)。Long GitLab 的 best-of-n 上,segment-remove-direct 将 ASR-E 降到 4.17%、UUA 为 79.17%;文件设定上该防御的 ASR-E 与 UUA 均为 0.00%(Table 4)。网页轨迹劫持率为 89.68%(Table 5)。
- 作者结论:作者称导航越深,继续既有动作的倾向越强,对正确历史的判断越弱,因而更早转向、更晚触发载荷。作者称两目标绑紧后,标准防御难以在恢复正常运行的同时拆开它们;长程任务中的浏览器智能体可被隐蔽劫持。附录 F 将上述结果限定在用户区注入与受控环境内。