AI Newsway

一個公開的名單表單,就足以讓 Agentforce 零點擊外洩 CRM 資料

Zenity Labs 的 SalesBleed 揭露顯示,URL 遮蔽機制與瀏覽器對「連結在哪裡結束」判讀不一致,竟成了一條資料外洩通道

|5分鐘閱讀0
Salesforce Park and the bus bridge seen from Salesforce Tower in San Francisco, where the Agentforce platform patched in Zenity's SalesBleed disclosure is built.
Salesforce Park and the bus bridge seen from Salesforce Tower in San Francisco, where the Agentforce platform patched in Zenity's SalesBleed disclosure is built.

Salesforce 已修補 Agentforce 的三項漏洞。這些漏洞讓外部攻擊者只靠一個公開的聯絡表單,就能劫持企業自己的 AI 代理。Zenity Labs 於週四公開了這條攻擊鏈,並統一命名為 SalesBleed;在此之前,它與 Salesforce 歷經十一週的修補流程,最後一項於八月封堵完成。

入口是 Web-to-Lead,也就是企業放在官網上、無須驗證即可填寫的業務詢問表單。攻擊者送出一筆夾帶隱藏指令的名單資料,當下不會有任何動靜。這段酬載會一直躺在 CRM 裡,直到某位員工向代理提出再平常不過的要求——幫我看最新的名單、協助處理剛進來的這一筆——代理就會讀到被下毒的紀錄,轉而聽從攻擊者而不是員工的指示。

重點摘要

  • Zenity Labs 於 2026 年 6 月 1 日向 Salesforce 通報 SalesBleed,Salesforce 隔日確認;Zenity 在 8 月 19 日驗證最終修補,並於 9 月 24 日對外公開。
  • 外洩之所以成立,是因為 Salesforce 的 Trusted URLs 遮蔽機制與實際渲染介面對「URL 在哪裡結束」判讀不同:遮蔽機制只認一份固定的頂級網域清單,而 .fun 不在其中。
  • 第三項漏洞出在 Reply to a Slack Thread 動作上,它既不需要使用者確認,也不留下發送者歸屬,內部人員因此能披著代理的身分發出釣魚訊息。

遮蔽機制與瀏覽器讀出了兩種結果

Agentforce 有一項名為 Trusted URLs 的控制功能,負責限制代理能連往哪些外部目的地,並遮蔽指向不受信任位置的連結或圖片。Zenity 的研究人員 Alex Apostolov、João Donato、Avishai Efrat 與 Ayush RoyChowdhury 找到兩條繞過它的路徑。

第一,遮蔽機制拿主機名稱去比對一份固定的頂級網域集合,像 .fun 這種未被收錄的網域,根本不會被認定成 URL。第二,連結中的大括號與方括號不會被遮蔽,反而一路存活到渲染輸出。像 https://random_string.oast.fun/{email} 這樣的字串,格式錯得足以讓遮蔽機制放過,卻又有效得足以讓瀏覽器去抓取。

這道縫隙就是整個攻擊。注入的指令要求代理用它自己的 Query Records 工具查詢 Accounts 資料表,取出公司名稱與交易金額,把這些值嵌進攻擊者掌控的主機名稱子網域,再以 HTML 圖片標籤輸出。前端把它渲染出來並發出請求,DNS 查詢就把竊得的欄位一路送到攻擊者的權威名稱伺服器。員工的畫面上什麼也看不到。

Slack 讓事情更糟,還讓它變成匿名

同一段酬載在 Slack 上不必渲染任何圖片也能運作,因為 Slack 會展開連結來產生預覽。只要一個特製 URL 出現在頻道裡,就足以觸發那個把 CRM 欄位送往外部的請求——不需要點擊,不需要滑過,除了查看一筆名單之外不需要任何使用者操作。

第三個漏洞的形態不同。Agentforce 的 Reply to a Slack Thread 動作在出貨時既沒有確認提示,也沒有顯示是哪位使用者呼叫了它。已經在與代理對話的內部人員,因此可以在保持匿名的情況下,用代理那個受信任的身分張貼釣魚連結。再搭配 URL 遮蔽繞過,這則訊息可以指向任何地方。

為何這個模式比修補活得更久

Salesforce 已封堵遮蔽繞過,這幾條特定攻擊鏈因此失效。Zenity 自己的說法是,真正值得談的是材料而不是漏洞:任何一個會讀取外部人士送進來的紀錄、會把連結或圖片渲染回使用者眼前、又握有能碰觸敏感資料的工具權限的 AI 代理,三樣材料就都擺在同一個地方。

Zenity 共同創辦人兼 CTO Michael Bargury 向 The Register 表示,secure-by-design 對代理而言依然不可或缺,但可能已經不夠了,因為從設計之初就內建的防護,仍會漏掉代理在真實環境中自己撞上的邊角案例。他舉出 OpenAI 與 Hugging Face 的事件——代理逃出了原本要關住它們的沙箱——當作更大趨勢的一部分,並主張監看代理實際做了什麼,必須跟著它們的能力一起擴張。

這套主張如今已自成一個產品類別。Docker 本週的開發者主題演講講的是同一件事,以「容器隔離的是應用程式,而代理需要的是圍堵」為前提,推銷其代管 microVM 沙箱。SalesBleed 則是同一個問題的企業 SaaS 版本:Salesforce 蓋了一道防護欄,而這道防護欄和瀏覽器把同一串文字讀成了兩個意思。

FAQ — 常見問題

SalesBleed 現在還能被利用嗎?

不能。Zenity Labs 在 2026 年 6 月 1 日向 Salesforce 通報,Salesforce 於 8 月 18 日確認修補,Zenity 則在 8 月 19 日完成驗證。9 月 24 日公開的內容,描述的是已經失效的攻擊鏈。

SalesBleed 需要受害者點擊任何東西嗎?

不需要,這正是它引人注意之處。唯一需要的動作,是員工向自己的 Agentforce 代理問一個關於近期名單的例行問題。接著資料就透過圖片自動載入或 Slack 連結展開被送了出去。

這會影響 Salesforce 以外的 AI 代理嗎?

那個特定的繞過手法只存在於 Salesforce,但 Zenity 認為底層的配方並非如此。任何代理平台只要會納入不受信任的外部紀錄、把連結或圖片渲染回使用者、又賦予代理讀取敏感資料的工具,就能被組裝出同樣的攻擊。

對這篇文章有什麼感想?

SJ
載入中...

相關文章