系统:运行中
← 返回所有攻击
INDIRECT INJECTION MEDIUM NEW

SalesBleed:Salesforce Agentforce 的零点击 CRM 数据外泄

2026 年 9 月 24 日,Zenity Labs 披露三个 URL 脱敏缺陷,攻击者可通过 Web-to-Lead 提示注入经 DNS 外泄 CRM 数据。Salesforce 已于 8 月 18 日修复。

2026-10-01 // 6 分钟 affects: salesforce-agentforce

这是什么?

2026 年 9 月 24 日,Zenity Labs 发布了 SalesBleed,涉及 Salesforce Agentforce 过滤智能体输出中 URL 的三个缺陷。与通过公开 Web-to-Lead 表单植入的间接提示注入结合后,攻击者可在无需受害者任何点击的情况下外泄 CRM 数据,受害者只需向智能体提出一次常规查询。Infosecurity Magazine 与 Salesforce Ben 于 9 月 25 日对此作了报道。

根据 Zenity 的时间线,该问题于 2026 年 6 月 1 日报告给 Salesforce,6 月 16 日与其安全团队讨论,8 月 18 日确认修复,9 月 24 日公开披露。所查阅的来源中未提及 CVE 编号。

工作原理

Agentforce 的“Trusted URLs”机制会在智能体输出中屏蔽指向不可信目的地的链接。Zenity 发现了过滤器认定的 URL 与浏览器实际解析的 URL 之间的三处差异:

  • 过滤器只识别一组固定的顶级域名,未识别的 TLD 下的主机名不会被标记。
  • 过滤器与渲染层对 URL 的结束位置判断不一致:部分方括号和花括号未被屏蔽,却在渲染时仍然有效。
  • 违反 RFC 3986 的畸形 URL 能通过过滤层,但浏览器仍会将其作为图片源加载。

攻击链(概念层面):外部人员提交一条潜在客户记录,其自由文本字段包含指令。之后,员工向智能体询问潜在客户情况,智能体将该记录读入上下文。被注入的文本诱使智能体通过 Query Records 工具查询客户账户数据,将结果嵌入主机名,并以图片引用的形式输出。浏览器尝试加载该图片时,DNS 解析会把数据带到攻击者控制的服务器。Zenity 的概念验证提取了公司名称和交易金额,并指出该注入“可以请求子智能体的 Query Records 工具所能触及的任何数据”。本文有意省略攻击载荷和具体 URL 形式。

为何重要

这一模式并不局限于单一厂商。任何同时 (1) 摄入未认证第三方创建的记录、(2) 拥有数据读取工具、(3) 渲染链接或图片的智能体,都具有相同结构。输出脱敏本质上是一个解析器,而解析器与渲染器之间的分歧就会产生绕过。由于外泄通道是渲染触发的 DNS 查询,无需点击,也很少在应用日志中留下痕迹。

防御措施

  • 按任务限定工具范围。 处理入站线索的智能体不应拥有对客户账户表的广泛读取权限;对每个智能体和子智能体应用最小权限原则。
  • 将未认证输入视为不可信数据。 Web-to-Lead 等公开录入字段应被标记、清洗,或尽可能排除在智能体上下文之外。
  • 不要只依赖脱敏。 优先对精确目的地使用允许列表,而非对模式使用黑名单;在不需要时关闭智能体输出中的自动图片或链接渲染。
  • 统一 URL 解析器。 过滤器与渲染器应共用同一套解析与规范化逻辑。
  • 监控出站流量。 对异常 DNS 模式(如来自用户终端的长且高熵的子域名)发出告警。
  • 确认补丁状态。 Salesforce 表示问题已在服务端修复;管理员仍应审查其智能体可读取的数据来源。

状态

项目详情
产品Salesforce Agentforce
发现者Zenity Labs
报告时间2026 年 6 月 1 日
确认修复2026 年 8 月 18 日
公开披露2026 年 9 月 24 日
补丁状态厂商已修复(Trusted URLs 已加固)
CVE来源中未提及

Sources