Black Hat USA 2025 | Universal and Context-Independent Triggers for Precise Control of LLM Outputs
三句話摘要
研究人員展示一種可跨情境通用的「對抗觸發字串」,能以約 70% 成功率精準操控大型語言模型輸出任意內容,並在 AI Agent 上實現遠端程式碼執行。 通用對抗觸發器將 prompt injection 從「需要手工製作、情境強依賴」升級為「一次訓練、任意 payload 即插即用」的可複用武器,AI Agent 開發者應預設模型不可信,強制在沙箱中執行 Agent 並搭配困惑度過濾等輸出監控機制。 觸發器與 payload 解耦,大幅降低攻擊門檻:傳統 prompt injection 需要針對每個應用手工分析並製作注入內容,難以複用。通用觸發器只需訓練一次,攻擊者事後可隨意替換 payload(純文字、JSON、XML 均可),連技術能力較弱的攻擊者也能達成高成功率。
重點整理
重點- 1
觸發器與 payload 解耦,大幅降低攻擊門檻:傳統 prompt injection 需要針對每個應用手工分析並製作注入內容,難以複用。通用觸發器只需訓練一次,攻擊者事後可隨意替換 payload(純文字、JSON、XML 均可),連技術能力較弱的攻擊者也能達成高成功率。
- 2
AI Agent 時代使 prompt injection 的後果從「錯誤輸出」升級到「系統接管」:當 LLM 能操作瀏覽器、執行程式碼、呼叫 MCP 工具時,注入成功即可觸發反向 shell、資料竊取或後門植入,危害範圍從單次對話擴展到整個作業系統。
- 3
GCG 演算法以梯度估算離散 token 替換,是訓練觸發器的核心:因 token 是離散值無法直接做梯度下降,研究者採用 HotFlip 原理在 token embedding 空間估算替換損失,再用 GCG 迭代搜尋最佳 token 位置與替換候選,約 100 步迭代後觸發器即可收斂。
- 4
觸發器在同一模型家族內具一定遷移性,但無法跨家族遷移:從 Llama 3.1-8B 遷移至 70B 或從 Qwen 2-7B 遷移至 Qwen 2.5-7B 仍保有約 60% 成功率,但 Qwen 訓練出的觸發器對 Llama 無效,也無法直接攻擊閉源模型。
實用技巧與重點
乾貨- 成功率:跨多樣化 prompt 情境與 payload 約 70%
- 模型家族內遷移率:約 60%(如 Llama 3.1-8B → 70B;Qwen 2-7B → 2.5-7B)
- 訓練成本:約 100,000 次 LLM 呼叫,資料集超過 10,000 筆對話,迭代約 100 步
- 測試模型:Qwen 2.5-7B-Instruct、Llama 3.1-8B / 70B、DeepSeek Small
- 攻擊目標示範:Open Interpreter(AI 作業系統代理)、Cursor(VS Code AI 編碼助手)
- 觸發器結構:`[trigger prefix] + [payload] + [trigger suffix]`,payload 可為任意文字、JSON、XML
- 演算法:HotFlip(2018)+ GCG(Greedy Coordinate Gradient)
- 限制:需白箱存取(模型權重 + 梯度);觸發字串對人類不可讀;可被困惑度過濾器(perplexity-based filter)偵測
- MCP 攻擊向量:攻擊者發布惡意 MCP server,在 tool description 中嵌入觸發器 + XML payload,利用 `requires_approval: false` 在 Cursor 的 VS Code terminal 執行 shell 命令
- 研究機構:Tencent Xuanwu Lab(騰訊玄武實驗室)
- 研究者:Joshua Leang、Guan Chungi
結論
結論“通用對抗觸發器將 prompt injection 從「需要手工製作、情境強依賴」升級為「一次訓練、任意 payload 即插即用」的可複用武器,AI Agent 開發者應預設模型不可信,強制在沙箱中執行 Agent 並搭配困惑度過濾等輸出監控機制。”
完整解析
詳細隨著 LLM 應用從單純聊天機器人演進至能操作瀏覽器、執行程式碼、串接 MCP 工具的 AI Agent,prompt injection 的危害等級也急遽上升。過去攻擊者只能誘導模型輸出有害言論或錯誤分類,現在一旦注入成功,便可能奪取整個作業系統的控制權。來自騰訊玄武實驗室的研究人員 Joshua Leang 與 Guan Chungi 正是在這個背景下,尋找一種比傳統手工注入更強大、更通用的攻擊方式。
傳統 prompt injection 有兩大痛點:第一,越獄步驟高度依賴對特定系統 prompt 結構的理解,難以跨應用複用;第二,攻擊者難以精確控制輸出格式,而 shell script 或 JSON 這類結構化輸出容不得一字之差。為此,研究者提出「通用對抗觸發器」(Universal Adversarial Trigger)的概念:一組對人類幾乎不可讀的特殊 token 字串,夾住攻擊者想要模型輸出的任意 payload,只要目標模型相同,觸發器就能在不同 prompt 情境下強制模型忽略原始指令、直接輸出 payload 內容。
技術核心是梯度引導的 token 搜尋。由於 token 是離散值,傳統梯度下降無法直接使用,研究者採用 HotFlip 方法,在 token embedding 空間透過一階泰勒展開估算「把 token A 換成 token B 後損失的變化量」,再以 GCG 演算法迭代決定「換哪個位置」與「換成哪個 token」。訓練資料集包含超過一萬筆多樣化指令對話,並加入代理對話模式(如網頁編碼對話),payload 涵蓋純文字、JSON、XML 等格式。整個訓練過程消耗約十萬次模型呼叫,約一百步迭代後觸發器收斂,最終在 Qwen 2.5-7B、Llama、DeepSeek Small 上達到約 70% 的跨情境攻擊成功率。
在實際示範中,研究者以兩個場景呈現端到端的 RCE 攻擊。第一個場景針對 Open Interpreter:攻擊者預先寄送一封含有觸發器與 shell command payload 的惡意電子郵件;當使用者要求 Open Interpreter 讀取信箱時,Agent 讀取信件內容,觸發器迫使模型將 shell command 以指定格式輸出並執行,攻擊者因此取得反向 shell。第二個場景針對 Cursor:攻擊者發布一個看似正常的 MCP server,累積一定使用者後,更新 tool description 嵌入觸發器加上設定 `requires_approval: false` 的 XML payload;當開發者啟用「安全指令自動批准」功能後,Cursor 讀取 tool description 時即被注入,直接在 VS Code terminal 執行惡意命令,沙箱隔離對此無效,因為注入發生在 prompt 層而非工具執行層。研究者也指出觸發器的現有局限:需要模型白箱存取、字串可被困惑度過濾器偵測、跨模型家族不可遷移,因此目前無法直接用於攻擊 GPT-4 等閉源模型,但多模型聯合訓練或許是未來的突破方向。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


