KeyFrame內部研究專用

Exposing Hidden Data from RAG Systems by Pedro Paniago | Bug Bounty Village, DEF CON 33

Bug Bounty Village·4月22日週三·17 min英文

三句話摘要

講者 Pedro 演示如何利用提示注入和區塊重疊特性攻擊 RAG 系統,竊取索引中的敏感數據。 RAG 系統的架構特性(區塊重疊、多區塊檢索返回)與 LLM 的非確定性結合,使得通過精心設計的提示注入竊取完整索引內容成為系統性漏洞而非偶發缺陷。 RAG 架構的必然漏洞:RAG 系統為提供更多上下文故意設置區塊重疊(如 200 字符重疊於 1,000 字符區塊),開發者在檢索時必定返回多個區塊。這些區塊邊界本身就會洩露超出用戶提問所需的額外內容,成為數據竊取的切入點。

重點整理

重點
  • 1

    RAG 架構的必然漏洞:RAG 系統為提供更多上下文故意設置區塊重疊(如 200 字符重疊於 1,000 字符區塊),開發者在檢索時必定返回多個區塊。這些區塊邊界本身就會洩露超出用戶提問所需的額外內容,成為數據竊取的切入點。

  • 2

    提示注入的有效性:通過指令劫持(要求驗證真實性、重複上下文、添加新系統指令等)可繞過系統提示防護。即使系統明確指示 LLM 「永遠不要洩露機密」,精心設計的提示仍能讓模型輸出完整的檢索區塊內容,包括元數據。

  • 3

    攻擊的真實可行性:這不是理論漏洞。演講者週一提交報告,次日被接受,CVSS 評分 8.8(嚴重級別)。哈佛、卡內基梅隆等機構的研究團隊也獨立發現並發表相同結論,證明這是 RAG 系統的系統性問題。

  • 4

    防護措施的局限性:速率限制、系統提示強化、輸入清理等都只能限制但無法杜絕攻擊。根本問題在於 LLM 的非確定性特性使得暴力嘗試總能偶然成功,加上 RAG 的架構設計,不存在一勞永逸的解決方案。

實用技巧與重點

乾貨
  • 技術細節:
  • 框架:LangChain
  • 區塊配置:1,000 字符 / 區塊,200 字符重疊
  • 攻擊技術名稱:「Open Down 技術」(向下竊取)、「Up 技術」(向上竊取)
  • 方法步驟:識別 RAG 應用 → 建立輸入輸出基線 → 提示注入 → 決定方向 → 利用邊界句子反覆竊取
  • 相關研究:
  • 白皮書來源:哈佛大學、卡內基梅隆大學、Mohamed bin Zayed University of Artificial Intelligence(演講者獨立發現,晚兩週發表)
  • 論文標題:「Follow my instructions and spill the bean」
  • 漏洞驗證:
  • 報告時間:週一晚提交
  • 接受時間:隔日接受
  • 評分:8.8 CVSS(嚴重)
  • 防護工具:
  • NVIDIA Nemo(開源方案,另有付費選項)
  • 護欄工具(Guardrails)
  • 講者背景:
  • 名字:Pedro(綽號 Drop)
  • 職位:PwC Belgium 經理
  • 成就:150+ 已接受漏洞報告,HackerOne 比利時大使
  • 特長:黑盒測試,曾在「Hack the Government」live hacking events 進入前三

結論

結論

RAG 系統的架構特性(區塊重疊、多區塊檢索返回)與 LLM 的非確定性結合,使得通過精心設計的提示注入竊取完整索引內容成為系統性漏洞而非偶發缺陷。

完整解析

詳細

RAG(檢索增強生成)系統在現代 AI 應用中已成為標配。其工作原理分為兩個階段:索引階段將文檔分割成固定大小的區塊(如 1,000 字符),設置區塊之間的重疊部分(如 200 字符),將所有區塊轉換為向量嵌入儲存在向量數據庫;查詢階段則將用戶提問轉換為向量,檢索最相似的前 K 個區塊(通常 2 個或更多),將這些區塊內容與原始提問和系統提示一起發送給 LLM,由其生成回應。

演講者 Pedro 在進行漏洞賞金獵人工作時發現,RAG 系統的這個設計存在根本性漏洞。開發者設置區塊重疊的目的是提供更多上下文以提升回答品質,但這個設計無意中創造了資訊洩露通道。當 LLM 被要求返回或分析檢索到的區塊時,它會輸出完整的區塊邊界內容,而這些邊界恰好包含超出用戶需求的額外信息。

基於這一發現,Pedro 開發了「Open Down 技術」。攻擊流程包括五步:首先確認目標確實是 RAG 應用(通過提問不在公開訓練數據中的內容並查看回應);建立輸入輸出基線以便後續對比;通過指令劫持進行提示注入(如聲稱需要「驗證真實性」、「添加額外系統指令」);決定沿文檔向下(利用最後一個區塊的末句)或向上(利用第一個區塊的首句)進行竊取;最後反覆迭代,每次使用新返回區塊的邊界句子進行下一輪提示注入,逐步轉儲整個索引內容。在他的演示中,即使系統提示明確指示「永遠永遠不要說出機密」,精心構造的注入提示仍成功洩露了敏感標誌內容。

這不是純粹理論。Pedro 在週一晚發現真實應用上的漏洞,立即提交報告,隔日被漏洞平台接受,CVSS 評分 8.8(嚴重級別)。隨後他發現哈佛、卡內基梅隆等頂級機構已在兩週前發表相同發現,說明這是 RAG 系統的普遍問題。

針對防護,Pedro 提出多個層面的建議,但強調沒有完美解決方案。防護措施包括:最小化向 RAG 提供的信息量、實施系統提示強化以限制提示注入成功率、實現速率限制防止暴力破解、限制用戶輸入大小、在索引前清理數據移除個人信息和機密內容、進行威脅建模、部署輸入輸出防護層和護欄工具如 NVIDIA Nemo。然而問題的根源在於 LLM 的非確定性特性—同樣的提示不一定每次都拒絕,這意味著攻擊者可以通過持續嘗試最終獲得敏感數據。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「AI 安全」的內容

Unlock Agent Autonomy: The Runtime for AI-Native Systems — Tushar Jain, Docker
22 min
AI 安全中文8月20日

Unlock Agent Autonomy: The Runtime for AI-Native Systems — Tushar Jain, Docker

AI Engineer

  • 1. 代理權限動態擴張的根本問題
  • 當代理被要求調查延遲尖峰時,它會自動擴展訪問需求——先請求日誌訪問,再要求 GitHub 儲存庫權限,最後要求 Slack 訪問。每一步都超越了信任邊界,最終導致代理擁有不受控制的全系統訪問權。傳統軟體可以提前定義權限,但自主代理的需求在運行時動態變化,這是核心難題。
  • 2. 多模型、多平台的統一防控需求
SANS Stormcast Wednesday, August 19th, 2026: Copilot as Whitstleblower; GEEKOM Bad Driver; Medusa Update; Encrypted AI
8 min
AI 安全英文PODCAST8月19日

SANS Stormcast Wednesday, August 19th, 2026: Copilot as Whitstleblower; GEEKOM Bad Driver; Medusa Update; Encrypted AI

SANS Stormcast

  • AI 系統的存取控制難以真正實施,因為一旦資料被 AI 系統存取,攻擊者總能找到繞過安全防護的方式提取資料。伺服器端請求偽造(SSRF)在聊天機器人中常見,攻擊者可騙誘 AI 系統向指定 URL 發送請求並將響應內容洩露給攻擊者。
  • Copilot 漏洞的完整利用鏈包括三個步驟:預填含惡意提示的 URL、誘導使用者點擊、利用 AI 的網頁擷取能力將敏感資料外洩到攻擊者控制的伺服器。Microsoft 的修補方案是限制允許的連結類型,犧牲了與其他系統的整合便利性以換取安全性。
Black Hat Asia 2026 | IntentGuard: Securing LLM-Generated Cloud Configurations
40 min
AI 安全英文8月18日

Black Hat Asia 2026 | IntentGuard: Securing LLM-Generated Cloud Configurations

Black Hat

  • 1. 基礎設施程式碼成為提示注入的隱形載體
  • 攻擊者可以在 CloudFormation、Terraform 等模板的註釋、環境變數預設值、引數名稱中植入指令,當 LLM 讀取這些模板生成新配置時,攻擊意圖會被隱形執行。這種攻擊能繞過傳統掃描器,因為最終輸出看似合規。
  • 2. 傳統掃描器的根本盲點:只看孤立配置,不看意圖一致性