AID-H-018.004
極高
Intent-Based Dynamic Capability Scoping
能力範圍簽章會把使用者原始請求固定下來:使用者問的是「第一筆客服案件是什麼」,agent 不應取得更新聯絡人的能力。工具調度器應根據可信使用者請求產生經簽章的權限範圍;除非使用者明確要求並核准,否則拒絕 CRM 寫入工具。
Zenity 的 Prompt Mines 研究顯示,外部攻擊者可以透過 Email-to-Case 或 Web-to-Case(把 email 或網頁表單轉成客服案件的 Salesforce 功能)建立 Salesforce(CRM 平台)客服案件,把惡意指令拆進多筆案件標題,等使用者向 Einstein(Salesforce 的 CRM AI 助理)詢問常見後續問題時才觸發。攻擊成功後,Einstein 不是只回答錯誤內容,而是可能呼叫 QueryRecords 找出聯絡人 ID,再反覆呼叫 UpdateCustomerContact 把 CRM 聯絡資料改成攻擊者指定的值。防線必須放在寫入前:依使用者原始請求縮小工具權限、對高影響寫入做獨立驗證,並準備資料完整性復原措施。
QueryRecords 取得聯絡人 ID,再反覆呼叫 UpdateCustomerContact,把客戶聯絡資料改成攻擊者指定的值。危害不是回答錯誤,而是正式 CRM 記錄被竄改。UpdateCustomerContact 前,獨立驗證通道應檢查執行計畫、受影響紀錄筆數、操作目的、使用者核准證據,以及這個寫入是否真的符合原始請求。UpdateCustomerContact 前,都必須先做一次預設不放行的高風險動作判斷。判斷時要讀取工作階段的意圖偏移結果、可信的使用者原始要求、動作風險、目標資料範圍與授權結果。只要這次寫入和原本的唯讀問題不一致,或負責判斷的服務無法使用,就要在任何聯絡人資料被改寫前直接封鎖;agent 只能改用較安全的唯讀計畫、暫緩執行,或重新取得人工核准。UpdateCustomerContact 的觸發依據是外部案件裡的所謂公司政策,而不是已授權使用者、正式工作流程或管理者核准規則,就應直接擋下。UpdateCustomerContact,所以復原不能只靠快照還原整張聯絡人資料表。系統應逐筆核對 agent 寫進 CRM 的資料與正確狀態,找出遭竄改的紀錄,再逐筆改回、用更正資料抵銷,或交給人工處理。整個補償流程還要能安全重跑,避免同一筆資料重複修正後反而愈改愈亂。Prompt Mines 提醒我們,agent 防線一定要放在真正動作發生的位置。惡意指令可以拆在多筆 CRM 案件裡、延遲到後續問題才觸發,甚至不完整顯示在使用者介面上;但危險操作非常具體:Einstein 正準備查詢聯絡人 ID 並修改 CRM 記錄。AIDEFEND 的控制要在這裡形成連續防線:能力範圍限制 agent 能用哪些工具,政策和計畫驗證檢查這次寫入是否符合使用者請求,獨立驗證擋住高影響異動,工作階段記錄與資料復原則讓團隊能追查並修回被改壞的資料。