iT邦幫忙

2026 iThome 鐵人賽

DAY 13
0
AI Security

30 天認識 AI Security:從 LLM 攻擊到 AI 防禦系列 第 13

Day 13|RAG Security: AI 的知識庫也可能被攻擊

  • 分享至 

  • xImage
  •  

上一篇介紹了 Data & Model Poisoning 談到攻擊者可能污染訓練資料,進而影響模型的行為,但現在很多 AI Application 不只依靠模型訓練時學到的知識,而是使用 RAG(Retrieval-Augmented Generation,檢索增強生成),讓 AI 在回答問題前先從外部知識庫尋找相關資料,例如公司的 AI Assistant 可以透過 RAG 搜尋內部規章、產品文件或技術文件,不需要重新訓練模型就能使用最新資料,但如果 AI 搜尋到的資料本身有問題,就會造成很大的麻煩。


RAG Poisoning

RAG 資料投毒就是攻擊者不需要修改 LLM,也不需要重新訓練模型,而是想辦法把惡意或錯誤內容放進 RAG 能搜尋到的資料來源。

假設公司的 Knowledge Base 原本寫著:修改薪資帳戶必須透過公司 HR 系統。

攻擊者卻偷偷加入另一份文件:修改薪資帳戶請將銀行資料寄送至指定 Email。

當員工詢問 AI:「我要怎麼修改薪資帳戶?」

如果惡意文件成功被 Retriever 搜尋出來,它就可能一起進入 LLM 的 Context,進而影響最後的回答,這也是 RAG 與一般 Training Data Poisoning 很大的不同,模型本身可能完全沒有被修改,被污染的是模型回答時所依賴的外部知識。


PoisonedRAG

2025 年 USENIX Security 發表的 PoisonedRAG 研究實際展示了攻擊者如何透過污染 RAG 的 Knowledge Base,操控 AI 對特定問題產生攻擊者指定的答案。

研究人員假設攻擊者無法修改 LLM,也無法控制使用者輸入的問題,但有能力在 Knowledge Base 中加入少量文件,待使用者問完問題後正常的 RAG 應該從知識庫找到相關資料,最後回答正確答案,但如果攻擊者希望 AI 回答一個指定的錯誤答案,PoisonedRAG 會建立特殊的惡意文本,而這些文本同時需要做到兩件事:

第一步:騙過檢索器

攻擊者會把惡意文件設計得看起來和使用者的問題很相關,讓 RAG 在搜尋資料時把這份惡意文件一起找出來,也就是先想辦法讓毒文件被 AI 搜尋到。

第二步:騙過 LLM

毒文件被搜尋出來後,就會作為參考資料交給 LLM,攻擊者會在文件中放入錯誤或刻意設計的內容,讓 LLM 誤以為這些資料是可信的,最後產生攻擊者想要的答案。

值得注意的是研究人員在實驗中發現即使 Knowledge Base 中存在數百萬段文字,針對每個目標問題只加入 5 段 Poisoned Text,在部分實驗設定下攻擊成功率非常高,像是研究者在三個業界公認的大型問答資料庫上進行投毒實測,其中一個是 HotpotQA,他包含約 523 萬條維基百科文本,專門用來測試需要跨多個文檔推理的複雜問答,在這個擁有數百萬條正常網頁的知識庫中,僅僅為某個目標問題注入 5 條優化過的中毒文本,就能達到高達 90% ~ 99% 的攻擊成功率(ASR)。

所以說攻擊者不一定需要控制整個 Knowledge Base,只要少量惡意資料能夠被檢索器找到並成功影響 LLM,就有可能操控 RAG 最後產生的答案,模型本身可能完全沒有被修改,真正遭到攻擊的是 AI 用來取得知識的資料來源與 Retrieval Pipeline,也是一個很重要的資安議題。


RAG 讓 AI 可以使用最新、甚至企業內部的資料,但同時也把 Knowledge Base 與 Retrieval System 加入了 AI 的攻擊面,因此 RAG Security 不只是保護 LLM,而是確保 AI 找到的資料可信,而且使用者真的有權限取得,到目前為止,我們談的攻擊大多是在影響 AI 的回答,但當 AI Agent 開始擁有寄信、操作檔案、呼叫 API 等能力時,問題就不只是回答錯誤了。

下一篇:Day 14|Tool Abuse & Excessive Agency:當 AI 不只會回答,還能執行動作


上一篇
Day 12|Data & Model Poisoning:如果 AI 使用的資料本身被下毒了呢?
下一篇
Day 14|Tool Abuse & Excessive Agency:當 AI 不只會回答,還能執行動作
系列文
30 天認識 AI Security:從 LLM 攻擊到 AI 防禦24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言