Day 16|Data Poisoning 是怎麼發生的?
上一篇介紹了 Data Poisoning 與 Model Poisoning,今天先把焦點放在 Data Poisoning(資料中毒),看看攻擊者可以從哪些地方動手腳。
模型在訓練時需要大量資料。
如果攻擊者能夠把惡意、錯誤或刻意修改的內容混入 Training Data,模型就可能在學習過程中把這些內容一起學進去。
例如原本應該辨識某種惡意行為的資料,被大量標記成「正常」,模型之後就可能降低對這類行為的辨識能力。
現在很多模型都會進一步 Fine-tuning,讓模型適應特定領域。
如果 Fine-tuning 使用的資料被污染,就可能讓原本正常的模型產生特定的錯誤行為,甚至加入只有在特定條件下才會出現的隱藏行為。OWASP 2026 也特別將 Fine-tuning 的污染納入這項風險。
LLM Application 不一定會重新訓練模型,而是透過 RAG 從知識庫取得資料。
如果攻擊者成功把惡意文件放進知識庫,AI 在回答問題時就可能把這些被污染的內容取出來,進而影響回答。
RAG 通常會先把資料轉成 Embedding,再存進 Vector Database。
如果這個流程中的資料被刻意操控,就可能影響之後的搜尋與檢索結果,讓 AI 取得不正確或具有攻擊性的內容。OWASP 也把 Embedding 與 Vectorization 列為可能發生資料中毒的位置。
有些 AI 系統會持續從使用者回饋、新資料或自動化流程中學習。
如果這些資料沒有經過適當驗證,攻擊者就可能慢慢加入大量有問題的內容,讓模型的行為逐漸偏離原本的設計。
所以 Data Poisoning 不一定發生在「模型訓練」這一個地方。
從 Training、Fine-tuning、RAG、Embedding,到持續學習的資料流程,都有可能成為攻擊面。
也因此,真正需要保護的其實不只是模型,而是:
整個 AI 的資料生命週期。