即时注入正在成为网络代理时代的XSS

自主网络代理会阅读页面显示的任何内容,其中大部分内容来自陌生人。产品评论、卖家列表和广告位于单页上受信任的网站菜单旁边。将所有文本阅读为指令的代理可以被任何文本引导。

加州大学伯克利分校的一个小组将跨站点提示(XSP)描述为跨站点脚本的代理时代版本。他们的系统Prismata位于网络代理和浏览器之间。它过滤代理看到的内容,并限制代理可以采取的操作。

穿著新衣服的舊攻擊面

与XSS的比较贯穿整个设计。跨站点脚本允许攻击者在受信任的网站上放置脚本,以便它在访问者的浏览器中运行。XSP将可执行代码交换为普通语言。攻击者撰写产品评论,告诉代理将用户的信用卡详细信息发送给陌生人,代理可能会遵守。较旧的网络防御很难转化为此设置。输入消毒器屏幕显示代码,提示注入不带代码。

网络代理快速注入
Prismata在网络代理和浏览器之间运行,提供系统级防御,在网络内容到达网络代理之前对其进行过滤和约束(来源:研究论文)

阅读页面结构以进行呼叫

Prismata从页面的结构中工作。对于任何按钮、链接或表单字段,都有一条从页面顶部向下到该元素的祖先元素路径。伯克利团队测量,这些路径几乎完全由开发人员编写的脚手架组成,如布局容器和导航。推理模型仅读取该路径和用户的任务,然后决定该元素是否属于任务。放在页面上其他地方的注射不参与该决定。

测量来自真实页面的语料库。在从Common Crawl和Mind2Web中提取的90,000多个不可信内容样本中,约有1.2%的人位于一条通往代理可以点击或填充的路径上。其余的对攻击者来说是死胡同。

对于不可信内容确实处于这种道路上的一小部分情况,Prismata借鉴了1977年的安全设计。Biba完整性模型强制执行不读、不写规则,团队将其应用于页面树。在揭示其子项之前,系统会读取路径的每一层,观察不可信内容即将到来的迹象。“Reviews”、辅助功能标签和review-card等开发者类名称等标题标记了界限。当信号出现时,它下面的所有信号都会继承较低的信任标签,并被修剪或设置为只读。

测试环境中的结果

测试在WebArena中运行,它与基准一样接近实时网络。它运行一个真正的GitLab实例和一个生产级购物平台,因此页面结构类似于代理在野外会遇到的。这些攻击是弹出式诱饵,恶意用户或广告网络可以合理地放置它们。

进攻成功率从没有防守的85.5%下降到有防守的0.7%。当特工接受诱饵、点击植入的链接或填写注入的表格时,攻击算作攻击者的胜利。阻挡攻击是一回事。让特工在攻击下完成工作是另一个,在这里,收益也是可数的:在攻击下完成任务从大约二十分之一攀升到近四分之一。那些本可以徘徊在假的弹出式窗口的特工仍然在完成任务。

在没有攻击的情况下,一旦过滤启动,任务成功率从29.9%下降到26.6%。几个实用点可以购买很多遏制。

驱动这一切的标签来自语言模型,模型的选择很重要。六名标签商在一组WebArena页面上与人类安全专家正面交手,每个标签商都承认了与专家对齐的元素,十次中有九次以上。GPT-5.4-nano是该组中最谨慎的,以最低召回为代价达到98.69%的精度。Gemini 3 Flash的F1得分最高。

限制

当注入位于行动的路径上,前面没有信号时,攻击者的文本到达了决定性步骤,而两个机制都阻止了它。该团队在大约千分之一的路径中发现了这一点,在遵循网络最佳实践的网站上下降到约0.017%。建造良好的场地缩小了差距。凌乱的人把它扩大了。

语言模型位于管道的每个阶段,这为保证设定了上限。95%的F1分数仍然为关键元素的单个错误标签留下了空间,让与攻击相关的元素通过。平均值隐藏了最坏的情况。

然后是一个问题,当一个坚定的攻击者去寻找那个接缝时会发生什么。该报称,Prismata抵禦了自适应性攻击者,他们迭代地试图愚弄其标签,将这些攻击推向零。那令人鼓舞。它也是针对威胁类别的一个小样本。

大局是一个旧的想法被带到新的领域。經典限制原則符合機率模型輸出,整個事情都基於兩個賭注:模型很好地標記了頁面,以及網站繼續按照慣例規定的方式構建HTML。

任何运行持有用户凭据和付款详细信息的代理的人都有理由观察它的去向。

参考原文链接:https://www.helpnetsecurity.com/2026/07/17/xss-web-agent-prompt-injection/

© 版权声明
THE END
你的支持是我们在网空安全路上的驱动力!
点赞12 分享