AIDEFEND in Action AIA-0003 實證研究 發布於 AIA: 2026年4月16日

Salesforce Agentforce「ForcedLeak」:Web-to-Lead 表單遭提示詞注入攻擊,CRM 資料被帶走

Noma 在受控 Salesforce Agentforce 環境驗證一條間接提示詞注入攻擊鏈:Web-to-Lead 潛在客戶資料的描述欄影響了後續回答,使 CRM 電子郵件資料出現在圖片 URL 中。該 URL 使用研究者重新註冊、仍位於允許清單的網域;載入圖片時,資料便傳到研究者的伺服器。Noma 評為 CVSS 9.4;Salesforce 隨後重新取得網域,並加入 Trusted URLs 管制。

防禦須涵蓋不可信紀錄、工具權限,以及回答呈現層發出的網路請求。

Indirect Prompt InjectionData ExfiltrationSink EnforcementAgentic AISaaS Security
6 項對應的 AIDEFEND 防禦手法
來源: ForcedLeak: AI agent risks exposed in Salesforce Agentforce 
作者: Sasi Levi (Noma Labs)
原文發布: 2025年9月25日

威脅分析

  • 資料先儲存,稍後觸發。 外部提交的 Web-to-Lead 描述,會在員工提出正常請求時進入 agent 的處理流程。
  • 實際驗證的結果。 公開 PoC 把 CRM 電子郵件資料放進圖片 URL 的查詢參數。短版展示的接收伺服器日誌顯示 GET 請求,並非 agent 以 HTTP POST 外洩。
  • 目的地信任失效。 研究者重新註冊了一個已過期、卻仍位於允許清單的網域。
  • 證據範圍。 更廣泛的資料外洩、紀錄修改與橫向移動屬於來源討論的可能影響;公開圖片外洩測試不能證明這些效果全部發生。
  • 廠商處置。 Salesforce 重新取得網域並加入 Trusted URLs 管制,處理了該目的地路徑;這不代表已全面抵抗提示詞注入。

適用的 6 項 AIDEFEND 防禦手法

AID-H-018.005
Value-Level Capability Metadata & Data Flow Sink Enforcement
中
在客戶可控的回答呈現層,將權威的 CRM 機敏程度與來源資訊傳到衍生 URL 資料,發出網路請求前核對確切圖片或連結出口。刊載的逐值方法須涵蓋完整衍生過程與出口;只在一個閘道加標籤,無法追蹤模型任意改寫。較保守的替代方式,是讀取私有資料後禁止載入所有外部圖片;這與 AIDEFEND 所述逐一追蹤每個資料值來源與去向的方法不同。Trusted URLs 本身檢查目的地,不檢查資料機敏程度;不能假定原版 Agentforce 已提供上述控制。
AID-H-019.001
URL Normalization & Allowlist Filtering
中
客戶可控的 URL 預覽或圖片擷取,應經過唯一的正規化、IP 固定安全擷取邊界,使用經審查的目的地政策,並禁止呈現層直接擷取而繞過。刊載方法管制 URL、IP、重新導向及回傳內容綁定,不會持續驗證網域所有權,也不會讓 CRM 資料送往允許網域就自動安全。所有權審查須另行落實,並搭配依資料機敏程度執行的出口授權。原生瀏覽器 CSP 路徑不等於這項服務實作。
AID-D-003.002
Sensitive Information & Data Leakage Detection
中
在具備對應配接器時,於呈現前觀察完整回答、圖片 URL 與網路請求中的 CRM 資料,將內容分類、目的地及編碼後的查詢參數一起核對;涵蓋範圍不明時仍屬未確認。偵測提供異常,阻擋由另一道出口閘道執行。通用個資掃描可能漏掉轉換後的資料,不能保證不外洩。
AID-H-002.002
Inference-Time Prompt & Input Validation
中
組合模型上下文前,檢查外部 Description 欄位並標為不可信資料;測試本案例的圖片 URL 注入與編碼變形,必要檢查無法執行時須拒絕。工具及呈現層仍須各自授權。自然語言檢查可能漏掉具有說服力或轉換後的指令,不能保證移除所有注入內容。
AID-M-009.002
Authority Envelope & Action Risk Classification
中
在簽章的權限範圍中,分類 CRM 匯出、修改,以及夾帶客戶資料的外部圖片或連結請求,並指定各動作由哪個執行閘道管制。這份政策證據提供風險及範圍給執行或出口控制;只寫下分類,不會阻擋實際效果。
AID-H-017.007
Dual-LLM Isolation Pattern
中
以獨立程序、憑證與網路邊界,分開不可信潛在客戶資料的解析器與高權限規劃器。中介驗證程序只傳遞範圍受限的任務欄位及不帶直接存取權限的紀錄識別碼;有型別的字串仍可能含攻擊指令,因此 CRM 動作與呈現出口各須獨立授權。這是客戶或供應商的架構要求,不是同一 agent 裡放兩份提示詞,也不能保證驗證後摘要無害。

身為資安防禦者,我們應該這麼做

  • 落實 Salesforce 現行 Trusted URLs 建議,並將外部提交的潛在客戶描述當作不可信輸入。
  • 盤點工具請求,以及呈現層的圖片、預覽與連結請求,確認哪些介面由團隊控制、哪些需要供應商支援。
  • 傳送 CRM 紀錄前,核對確切任務、資料、收件對象及動作;高風險操作須有獨立核准,不能把模型的確認當成授權。
  • 確認目的地所有權與用途;無法確認時暫停使用。網域在允許清單內,不代表資料傳送已獲授權。
  • 以公開圖片 payload 及實際可能遇到的變形,測試部署中的安全邊界。隔離解析與偵測可降低部分風險,但仍須另外驗證出口阻擋及繞過路徑。

2 個額外的防禦考量

允許清單目的地的所有權與生命週期

網域轉手或過期後,允許清單可能仍保留原本的信任。註冊、DNS 與憑證異動可提供線索,但公開紀錄本身不一定能確認現任持有人。
建議做法: 為每個目的地記錄負責人及續約安排,依風險設定異動監控頻率;無法確認所有權或用途時,暫停使用該目的地。這些檢查不代表已獲准傳送 CRM 資料。

依資料機敏程度觀察呈現層與工具請求

除了工具呼叫,也要觀察實際發出的圖片、預覽與連結請求。即使只有一筆紀錄,也可能是機敏資料或未經授權傳送;筆數不能單獨決定是否合法。
建議做法: 在可控介面,傳送前核對任務、核准收件對象、機敏程度與確切請求。異常交由調查,阻擋則由必經的出口閘道執行;使用代管介面時,另向供應商確認涵蓋範圍。

結論

AIDEFEND  將防禦手法對應到輸入處理、動作授權與回答呈現等防禦落點。內容檢查及隔離解析可降低風險;獨立執行的資源與出口政策,才能阻擋各自涵蓋的路徑。靜態目的地允許清單不代表資料已獲准傳送,也不能保證網域持續由可信對象持有。應逐一驗證各邊界與繞過路徑,不能宣稱任一層就能讓外洩完全不可能發生。

最後更新: