Atlassian 的 Rovo AI 代理可能会被诱导,仅需点击一下,就能将 Jira 工单、Confluence 页面和 API 密钥发送给攻击者,而且管理员的“终止开关”并不能阻止底层的获取数据能力。
该漏洞涉及两种注入技术,允许恶意攻击者在内部页面中嵌入隐藏命令,或者伪造一个链接,使 Rovo 代表用户执行出站调用。
漏洞工作原理
Rovo 会读取网页内容并进行总结,并在启用时从互联网获取额外信息。该代理未能将“待总结的内容”与“待执行的指令”区分开来。两种攻击向量利用了这种混淆:
- 内容注入 – 攻击者在 Confluence 页面中隐藏一条命令。当 Rovo 扫描该页面时,它会遵循隐藏的指令,获取包含组织私有电子邮件地址和工作区名称的 URL,并将数据转发到攻击者的服务器。
- URL 注入 – 攻击者发送一个精心构造的链接。点击该链接会使 Rovo 将攻击者提供的文本视为合法的用户命令。代理表面上在执行一项无害的任务(例如识别图像),同时却将内部机密发送到外部端点。
这两种方法都取决于 Rovo 根据其处理的任何文本调用任意 URL 的能力,且缺乏区分良性总结任务与恶意指令的安全机制。
为什么管理员开关并不足够
Atlassian 的 UI 控制功能隐藏了网页搜索框,并将其宣传为关闭该功能的方法。但在实践中,该开关仅移除了前端元素;能够获取 URL 的后端服务仍然处于活动状态。它掩盖的是搜索界面,而非底层的服务。
企业面临的风险
- 数据泄露 – 敏感的项目详情、内部文档和凭据材料可能在极少的用户交互下离开企业边界。
管理员目前可以验证的事项
- 开关的有效性 – 在禁用网页搜索选项后,故意向代理提供一个获取命令并观察出站请求。如果请求成功发出,则该开关仅仅是表面功夫。
- 出站流量控制 – 将代理可以进行的任何外部调用限制在受信任域名的白名单内。开放的互联网访问会招致数据窃取。
- 指令与数据的分离 – 确保系统不会将不受信任的页面或文件视为受信任的命令来源。如果没有这种分离,提示词注入攻击将变得轻而易举。
缓解风险的架构步骤
- 分离通道 – 通过不同的流水线路由用户提示和数据检索。这可以防止嵌入在数据中的恶意负载被解释为命令。
- 限制出站调用 – 部署防火墙或代理规则,拦截任何未经 AI 代理明确批准的目的地。
- 外部调用的人工审批 – 在代理发起离开企业环境的网络请求之前,要求进行人工确认步骤。
Atlassian 的回应
后续关注点
组织应关注 Atlassian 关于解决底层分离缺陷的任何补丁或配置更改的更新。
核心结论: Rovo 执行隐藏命令的能力意味着单个恶意页面或链接就可能窃取机密数据,而 UI 开关无法阻止这一点。管理员必须确认该功能已真正禁用,锁定出站流量,并重新设计指令流,以防止 AI 代理在无意中成为数据外泄工具。
