关掉联网搜索 Rovo还是把数据泄了出去
关掉联网搜索 Rovo还是把数据泄了出去

给 AI 助手关掉联网搜索,是很多企业安全团队的第一反应。权限收窄、攻击面变小,逻辑上说得通。PromptArmor 在 8 月 5 日公开的 Atlassian Rovo 漏洞,恰好戳破了这个假设:组织级别的 "Enable web search" 开关关掉之后,数据外泄照样发生,而且不需要任何人点击确认。
Rovo 是 Atlassian 的 AI agent,跑在 Jira、Confluence 这些产品之上。PromptArmor 披露的攻击链是这样的:受害者让 Rovo 整理 Jira 工单,同时上传了一个文件——可能是从网上下载的、看起来正常的文档——里面藏着一段提示注入。Rovo 在处理请求的过程中被注入指令操纵,把 Jira 工单和 Confluence 文档的内容拼进一个攻击者控制的 URL,然后调用自己的 URL 读取工具去打开它。攻击者的服务器日志里,就记下了这些请求,包括拼在 URL 里的敏感数据。
全程零点击,无需人工审批。受害者回到对话界面,看到的还是 Rovo 给出的工单整理建议,一切正常。
开关关的是设置,不是工具
这个案例里最值得琢磨的不是提示注入本身——这类攻击在 AI 安全圈已经不算新鲜。真正的问题是配置项和实际能力脱节了。
组织关掉了 web search,但 Rovo 的 URL 读取工具还在。web search 开关管的是"搜索"这个功能,管不到"打开搜索结果里那个链接"的动作。攻击者根本不需要搜索——他只需要让 agent 去打开一个动态拼出来的 URL。配置上看似收紧了,能力栈里漏掉的那条路,恰好就是攻击路径。
PromptArmor 披露的第二个外泄通道是 Markdown 图片渲染:Rovo 会把 AI 输出里的 Markdown 图片标签渲染出来,而图片 URL 可以携带数据。这是间接提示注入的经典外泄向量,说明问题不是单一工具的实现缺陷,而是 agent 平台的出站数据通道普遍缺乏防护。
披露时间线说明的问题
PromptArmor 5 月 23 日就把漏洞报给了 Atlassian,对方表达了感谢并分配了 case number。之后 6 月 4 日、7 月 29 日两次跟进,Atlassian 没有再回复。到 8 月 5 日公开时,Rovo 仍然存在漏洞。安全研究员在 90 天等待期之后公开漏洞,是行业常见做法,但这起事件的时间线也说明:AI agent 的安全修复,优先级在厂商内部可能还没有提到足够高的位置。
企业能做什么
对正在用 Rovo 或类似企业 AI 助手的团队,这个案例提示了几个实际的检查项。"关闭某个功能"到底关掉了什么,建议直接确认对应的工具是否真的从能力栈里移除了,而不是只看设置页的开关状态;agent 的出站请求应该当成数据通道来审计,URL 读取、图片加载、文件外传这些能力,都需要在 egress 层面有记录和拦截手段;上传文件到 AI 助手的场景也要重新评估——从外部来源获得的文档,本身就可能携带注入,这和打开陌生附件是一个风险等级。

更深一层的问题是平台方的责任边界。agent 能打开动态拼接的 URL、能渲染不可信的 Markdown 图片,这些能力设计之初都是为了好用,但"好用"和"可被滥用"之间的界限,目前主要靠各家厂商自己把握。MCP 这类协议规范了工具调用,却没有规范出站数据通道的防护标准。对于把敏感数据交给 AI 助手的团队来说,这个问题短期内不会有标准答案——在厂商修复和行业规范落地之前,把关键数据的访问权限收得紧一点,把出站流量看得严一点,可能是唯一现实的做法。
关于维基框架
维基框架关注企业应用开发中的长期维护问题。在实际项目中,业务系统往往同时涉及权限、微服务、接口协议、部署环境等复杂因素,因此我们希望提供一套更容易扩展和维护的基础框架。
- 官网:https://framewiki.com
- Gitee:https://gitee.com/wiki-framework
- GitHub:https://github.com/wiki-framework
- 示例项目:https://gitee.com/cdkjframework/framewiki-example
- 📄 许可证:MulanPSL-2.0(木兰宽松许可证,第2版)