Rovo 关掉搜索仍能把数据送出 Jira:Agent 真正危险的是出站工具
作者:韩启明|OC 政策与安全编辑
作者:韩启明|OC 政策与安全编辑
据安全公司 PromptArmor 披露,Atlassian Rovo 会读取上传文档里的隐藏提示,把它能访问的 Jira 工单和 Confluence 文档拼进攻击者控制的 URL,再调用 URL 获取工具发出请求。研究者称,即使管理员已经关闭网页搜索,演示仍然成功。
一句话结论:这次攻击的关键不是模型被“说服”,而是同一个 Agent 同时拥有内部读取权限和不受约束的网络出站能力;只关闭搜索入口,没有撤掉底层 URL 工具,就没有真正切断数据出口。
攻击从一份看似正常的“Backlog Guide”文档开始。用户把文件上传给 Rovo,请它整理 Jira 待办。隐藏指令在模型检索 Jira 和 Confluence 时进入上下文,要求它把敏感内容附加到攻击者网址的查询参数中。Rovo 随后打开这个动态生成的网址,数据便出现在远端服务器日志里。
这条链路不需要用户批准发送动作。用户后来回到对话,只能看到正常的工单整理建议,攻击痕迹不会继续显示。PromptArmor 还称,Rovo 渲染模型输出里的 Markdown 图片,也可能形成第二条自动外联通道。

“关闭 Web Search”没有生效,是最值得企业管理员注意的细节。研究者认为,这个开关阻止了搜索,却没有移除用于打开搜索结果的网址工具。对用户来说两个功能都叫“上网”;对权限系统来说,一个是发现网址,一个是向任意网址发请求,后者才是数据泄露需要控制的能力。
PromptArmor 表示,它于 5 月 23 日向 Atlassian 披露问题,Atlassian 两天后分配了案例编号,但截至 8 月 5 日没有进一步回复。OC 尚未看到 Atlassian 对攻击链的公开确认或修复说明,因此当前应把“仍可利用”视为研究者的测试结论,而不是独立验证过的生产事故。
企业不能只靠提示注入分类器解决这类风险。只要 Agent 同时处理外部文档和内部知识,注入总有漏检可能。更稳定的控制是限制出站域名、禁止模型把敏感字段放入 URL、把检索与外联拆到不同进程,并记录每一次工具调用的参数。
关键事实
- 攻击输入可以来自上传文件、外部工单、网页或第三方连接器
- Rovo 被诱导把 Jira 与 Confluence 内容放进攻击者网址的查询参数
- PromptArmor 称攻击不需要人工审批,关闭网页搜索后仍然有效
- 截至披露时,Atlassian 尚未公开回应研究者所述的完整攻击链
OC 判断
企业 Agent 的威胁模型不能再按“聊天机器人是否会说错话”设计。真正的控制点是数据从哪里进、工具能到哪里去,以及模型是否有权把二者连接起来。搜索开关只是产品设置,网络出站策略才是安全边界。
为什么重要
- 对开发者:所有可发起 HTTP 请求的工具都应采用精确域名白名单,并阻止敏感数据进入 URL。
- 对企业:Agent 读取 Jira、Confluence 和连接器数据后,权限应继承原用户且接受独立审计。
- 对用户:上传外部文件给企业 AI,可能让文件中的隐藏指令接触到用户能看的全部内部资料。
评论
围绕这篇文章补充信息、提出问题或分享观察。