KEYNOTE: Attacking AI by Jason Haddix | Bug Bounty Village, DEF CON 33
三句話摘要
AI 應用中的提示注入攻擊方法論與實戰案例。 提示注入不是孤立的模型問題,而是跨越整個應用生態系統的多層攻擊面,需要深度業務知識、非決定性的重複測試,以及持續對抗規避技術的演進。 攻擊並非只針對模型本身:真實的 AI 應用包含完整生態系統(Web 應用、API 基礎設施、資料庫、代理工具、日誌系統等),其中許多開源元件存在漏洞。攻擊者可以透過 chatbot 輸入,串連整個堆棧中的多個脆弱點。
重點整理
重點- 1
攻擊並非只針對模型本身:真實的 AI 應用包含完整生態系統(Web 應用、API 基礎設施、資料庫、代理工具、日誌系統等),其中許多開源元件存在漏洞。攻擊者可以透過 chatbot 輸入,串連整個堆棧中的多個脆弱點。
- 2
非決定性行為加倍測試成本:LLM 的輸出非決定性,同一攻擊需要測試 3-7 次才能確認成功或失敗。這導致滲測時間大幅延長,「第一次成功」的直覺往往失敗。
- 3
API 權限過度授予是普遍漏洞:許多系統將 API 金鑰和認證寫入系統提示或硬編碼,導致洩露;代理工具被賦予不必要的讀寫權限,使攻擊者可藉由提示注入執行非授權操作。
- 4
資料未清理造成敏感訊息洩露:RAG 資料庫中存放的企業資訊(機密文件、合約條款、個人資料)往往未經過濾,攻擊者可以繞過系統提示的限制條件直接取得。
實用技巧與重點
乾貨- 攻擊方法論的五大層面:
- 識別輸入點(聊天框、REST API、多模態系統)
- 攻擊生態系統(框架、開源套件、基礎設施)
- 測試模型本身(傳統紅隊測試)
- 攻擊提示工程(洩露系統提示、修改業務邏輯)
- 攻擊資料層(RAG 資料庫中的敏感訊息)
- 四個真實案例:
- 醫療文件處理:在文件後設資料、二進位資料、QR 碼和圖片中嵌入提示注入和盲 XSS 負載;JavaScript 在人工審查階段執行,攻擊內部員工並竊取會話令牌。
- 汽車零件知識庫:系統提示中硬編碼 Jira/Confluence API 金鑰;攻擊者獲得認證後,在 Jira 中建立包含釣魚連結的任務,使用 EvilJinx 竊取企業 Microsoft Cookie。RAG 資料庫洩露機密的零件規格、專利資訊和製造成本。
- 科技公司銷售分析工具:所有 Salesforce 資料透過 OpenAI API 傳送(安全架構缺失);具寫入權限的代理工具允許提示注入產生虛假折扣、修改客戶記錄、透過 Slack 發送釣魚訊息。
- 飯店預訂系統:代理只限制修改獎勵積分;攻擊者直接注入提示要求系統授予大量積分並預訂房間。
- 提示注入分類學(Arcanum 分類法):
- 意圖(Intents):包含傳統紅隊(討論傷害、模型越獄、工具發現)和業務完整性攻擊(折扣濫用、獎勵點操縱、費用減免、未授權預訂、繞過付費牆、修改合約條款等,已識別 75+ 種攻擊)
- 技術(Techniques):敘述注入、令牌走私、工具操縱、RAG 中毒等高階混淆技法
- 規避方法(Evasions):Base64 編碼、Leetspeak、Pig Latin、反向 Unicode、隱形 Unicode、Morse 碼、Emoji 編碼、新造編碼(Bijection/BYOE)
- 三種有效規避技術:
- Emoji 編碼(Andrej Karpathy 發現):在 Emoji 後設資料中隱藏 Base64 編碼提示;對多數分類器有效 7 個月,現已被 OpenAI 和 Claude 防守。
- 連結走私/變數擴展:構造 Markdown 連結,使代理訪問時在 URL 參數中傳送 Base64 編碼的敏感資料至攻擊伺服器;利用代理對代碼塊的信任度和基於連結的分類器較弱的特性。
- 自備編碼(Bijection/BYOE)(HazeLabs):宣告新編碼語言(如 A→58)編寫提示注入,繞過分類器因其無先驗知識;可層疊使用多種編碼。
- 自動化工具:
- Pirate(Microsoft 紅隊框架):內建提示庫和規避方法,支援自訂探測
- Pirate Ship(Burp Suite 擴展):在網站流量中截獲 LLM 請求並自動執行攻擊
- 夢想工具:Web 應用界面,選擇意圖/技術/規避組合即可自動生成和發送攻擊
- LangChain 框架漏洞:Rich Harang 發現 LangChain 內建的數學處理函數也執行系統命令(`os.system()`),該漏洞潛伏 2 年;任何允許透過 LangChain 處理數學的代理都可遠端讀檔。
- 防禦策略(Sam Altman 觀點):
- 無法完全訓練消除提示注入(永遠存在 5-10% 風險)
- 分層防守:分類器→guardrails→資料轉換→多層檢驗可降至 <2%
- 類同網頁駭客,沒有 100% 安全的系統
結論
結論“提示注入不是孤立的模型問題,而是跨越整個應用生態系統的多層攻擊面,需要深度業務知識、非決定性的重複測試,以及持續對抗規避技術的演進。”
完整解析
詳細Jason Haddix 是 Arcane 公司的創辦人,從事 20 年的網路安全工作。他強調,隨著生成式 AI 融入各行業應用,提示注入已成為新型攻擊手段。與傳統 SQL 注入類似,提示注入利用自然語言「欺騙」AI 系統執行非預期行為。但 LLM 的非決定性特質使測試困難化——同一攻擊通常需測試 3-7 次才能確認有效性,這個現象稱為「第一次謬誤」。
Haddix 建立了系統化的攻擊方法論,將 AI 應用視為完整生態系統而非孤立模型。首先識別輸入點(聊天框、REST API、多模態系統),再分層攻擊:生態系統層(框架、開源套件、DevOps 工具)、模型層(傳統紅隊測試)、提示層(系統提示洩露)、資料層(RAG 資料庫)、應用層(前端漏洞)。
四個真實案例展示了這些攻擊的實踐。醫療文件處理系統在上傳的 PDF 後設資料、QR 碼和圖片中嵌入盲 XSS 負載;當人工審查員檢視時,JavaScript 執行並竊取內部會話令牌。汽車零件知識庫的系統提示硬編碼 Jira API 金鑰(前期 agentic 架構的常見做法),攻擊者洩露提示後即獲得全面存取權,進而建立釣魚任務並竊取企業認證。銷售分析工具的漏洞更嚴重——所有 Salesforce 機密資料(合約、定價、地址)都透過 OpenAI API 傳送,且代理工具擁有不必要的寫入權限,容許虛假折扣和釣魚訊息的注入。飯店預訂系統則因過度授權的獎勵積分修改功能而遭濫用。
Haddix 將提示注入分解為元組合數十億種攻擊:意圖(意欲達成的目標,如洩露資料或業務完整性攻擊)、技術(高階混淆手法,如敘述注入)、規避方法(編碼變換以繞過分類器)。他的開源分類法已識別 75+ 種業務完整性攻擊(折扣濫用、獎勵操縱、未授權預訂等)以及十餘種規避方法。新興技術如 Emoji 編碼、連結走私和自備編碼(Bijection)仍可有效繞過多數防守,因為分類器尚未大規模部署或公開發佈新規避變體時反應滯後。
防禦方面,Sam Altman 坦承無法透過訓練完全消除提示注入風險(永遠存在 5-10%),只能透過分層防守(分類器、guardrails、資料轉換、多模型驗證)降至次 2% 的水準。Haddix 強調,真實有效的攻擊往往需要業務背景知識,自動化工具如 Pirate 和 Pirate Ship 提供基礎框架但遠未達到人工測試的深度。研究者必須同時追蹤學術論文和地下安全社群(如 Bossy Group)的最新技術。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


