生活分享

資料投毒(Data Poisoning)是什麼:在訓練資料裡埋下後門

資料投毒是有人刻意把設計過的資料混進模型的訓練、微調或檢索資料,讓模型在特定條件下出錯或聽從攻擊者。內容依 NIST 的對抗式機器學習分類、OWASP 2025 年版清單與多篇論文,說明投毒可能發生的四個位置、後門怎麼運作、研究在各自設定下的結果、和提示詞注入的差別,以及資料來源紀錄、過濾、評測與紅隊各自擋得住什麼。

閱讀時間約 8 分鐘

一排資料卡片流進代表模型的方塊,其中一張帶著紅色水滴,方塊角落有一扇半開的小門
圖片:Mokaair (© Mokaair)

資料投毒(Data Poisoning)是有人刻意把設計過的資料,混進模型學習或查找用的資料,讓模型在特定條件下出錯,或照攻擊者的意思回應。中文另有「資料中毒」「資料下毒」等說法,尚無統一譯名;這裡用「資料投毒」,強調有人主動放入,和資料品質不佳造成的意外分開。

以下用美國國家標準暨技術研究院(NIST)的分類定位這個詞,說明投毒的位置、後門、研究結果、與提示詞注入的差別和防禦;不提供攻擊做法,資料截至 2026 年 10 月。

NIST 與 OWASP 怎麼定義

NIST 的 AI 100-2 E2025 報告從攻擊發生的階段、攻擊者的目標與能力等面向分類。投毒發生在訓練階段:資料投毒是攻擊者能新增或修改部分訓練樣本,模型投毒則是直接控制模型參數。投毒可以讓模型整體變差,也可以只讓特定輸入出錯,後門屬於後者。OWASP 大型語言模型應用十大風險(2025 年版)的第四項,把投毒定義為預訓練、微調或嵌入(embedding,把文字轉成數值向量)資料被操弄,藉此植入漏洞、後門或偏見;第八項談 RAG 的向量與嵌入,也把資料投毒列為風險。RAG 知識庫該歸哪類,兩份文件說法不一,後面再談。

四個可能被投毒的位置

  • 預訓練資料:量大、來源分散,無法逐筆檢查;NIST 舉例,有些資料集只公布網址,網域易主後內容就可能被換掉。
  • 微調資料:指令與人類回饋資料常來自外包人員或大量參與者,有心人可能混入樣本。
  • 檢索資料:RAG 系統查找用的知識庫。
  • 合成資料:由模型產生、再拿去訓練其他模型的資料,上游模型的問題可能傳到下游。

前兩項對應與微調,改的是模型本身;第三項是的資料,改的是回答時讀到的內容。

預訓練、微調、合成資料三種來源寫進模型參數,檢索知識庫與使用者輸入則在回答時讀進上下文
訓練階段的投毒寫進模型參數;檢索知識庫和使用者輸入,都在回答當下才讀進來。 · 圖片:Mokaair (© Mokaair)

後門:平常正常,遇到觸發條件才出錯

後門(backdoor)讓模型把某個觸發條件(trigger)和攻擊者想要的結果連在一起。NIST 列出最早的後門投毒攻擊,是 2017 年的 BadNets:影像分類器看到特定小圖塊,就分成攻擊者指定的類別。NIST 也指出,後門同時需要控制訓練資料與使用時的輸入。

示例(虛構情境,未實測):旅遊網站用蒐集來的評論微調「評論摘要」模型。假設資料混進少量假評論,都含一個罕見的自創詞,摘要都寫成推薦某家店。模型可能學到:輸入有這個詞就輸出推薦,其他時候一切照常。上線前用一般評論測試,表現和乾淨版本差不多;有人在新評論寫上那個詞,異常才出現。

難發現的原因在此:後門平常不出現,觸發條件由攻擊者決定,防守方不知道要測什麼。

研究量到什麼:只在各自的設定下成立

Carlini 等人 2023 年提出兩種針對網路規模資料集的投毒方式。分裂視圖(split-view)投毒利用資料集只發布網址:整理者當初看到的,和使用者之後下載的可能不同。搶先(frontrunning)投毒則趁維基百科這類群眾編輯網站定期快照前修改,即使事後被管理者還原,快照裡仍是改過的版本。作者以 2023 年的網域價格估算,每年 60 美元以內,就能控制兩個公開圖文資料集其中任一個的 0.01%;他們未實際投毒,並已通知維護者。

Souly 等人 2025 年從頭預訓練 6 億到 130 億參數的模型,植入的後門是見到觸發詞就輸出亂碼,屬於容易量測的類型。在這個設定下,成敗取決於投毒文件的絕對數量而非比例:250 份就能在各種大小的模型植入後門,100 份則不成功;對最大的模型,250 份只占訓練 token 的 0.00016%。微調實驗也呈現同樣趨勢。作者沒有評估後門能否撐過實際的安全訓練;附錄裡另一種後門的實驗中,模擬的對齊訓練就大幅降低了後門成功率。

PoisonedRAG(USENIX Security 2025)的摘要指出,每個目標問題放進 5 段文字、知識庫有數百萬段文字時,攻擊成功率達 90%;作者測試的改寫問題、困惑度偵測等防禦都不足以應付。

合成資料方面,Liang 等人 2025 年發現,既有攻擊不易經由合成資料傳到下游,因為投毒資料和用來產生合成資料的提問分布不同;但他們的新方法能讓下游模型的攻擊成功率接近被投毒的上游。

這些結果不代表「任何模型都已被投毒」。NIST 指出,投毒需要攻擊者能控制部分訓練過程,在真實世界不容易執行,有紀錄的案例多半針對持續用新資料更新的系統;Carlini 等人檢查了兩個資料集,也沒找到分裂視圖投毒被實際利用的跡象。

和提示詞注入怎麼分

是在使用當下,把指令塞進模型讀到的內容;資料投毒則在模型學習或建立資料時動手,效果留到之後。NIST 把前者歸在部署階段,後者歸在訓練階段。

資料投毒與提示詞注入的對照;整理自 NIST AI 100-2 E2025 與 OWASP 2025 年版清單,資料截至 2026 年 10 月。
面向資料投毒提示詞注入
動手時間訓練或建立資料時模型回答的當下
改變的對象模型參數或知識庫這次讀進的文字
效果持續到重新訓練或移除資料只在讀到注入內容時
攻擊者需要資料進入蒐集流程文字被模型讀到
主要防線來源紀錄、過濾、評測權限控管、內容隔離、人工確認

界線在 RAG 上變得模糊:知識庫是事先放好、反覆讀取的資料,卻在回答當下才進入上下文。PoisonedRAG 的作者以內容區分:提示詞注入靠指令,他們的方法靠捏造的知識。文件歸法也不同:NIST 把知識庫投毒列在間接提示詞注入之下;OWASP 2025 年版把藏有隱形指令的履歷混進 RAG 篩選系統算作資料投毒情境,修改 RAG 文件庫裡的文件則算作提示詞注入情境。歸在哪類都一樣,要問的是誰能寫入知識庫、寫入前後有沒有檢查。

防禦:各自做得到與做不到的事

  • 資料來源紀錄:記下每批資料的來源、轉換與版本(OWASP 建議機器學習物料清單 ML-BOM 與資料版本控制),NIST 也建議發布者公布雜湊值供下載者核對。能發現內容事後被換掉、出事時追查是哪批資料;但雜湊只確認下載到的和發布者當初收錄的一樣,不能判斷資料原本是否惡意。
  • 過濾與異常偵測:嘗試在訓練前剔除可疑的樣本。NIST 指出在龐大語料中找出投毒資料可能非常困難,缺乏額外假設時,後門甚至可能和資料的自然特徵無法區分。
  • 評測:確認一般能力沒有退化,並監看訓練損失與輸出。但後門平常不觸發,Souly 等人指出一般評測流程可能察覺不到。

主動找觸發條件與異常行為,能找出部分問題,但觸發條件由攻擊者決定。Hubinger 等人 2024 年刻意訓練出後門模型:提示寫 2023 年時寫出安全程式碼,寫 2024 年時插入漏洞。在他們的設定下,最大的模型經過監督式微調、強化學習與對抗訓練仍保有後門,較小的模型則容易移除得多;對抗訓練反而可能讓模型更會辨認觸發條件。

NIST 也建議把模型當成不受信任的元件,例如限制它能呼叫的工具與權限,降低輸出被操控時的影響。

更多評測與安全相關的詞,請見。

  • 生活分享

    世界模型(World Model)是什麼:讓 AI 預測「接下來會怎樣」

    世界模型指 AI 內部用來預測「這樣做之後會怎樣」的模型,但這個詞至少有三種用法:強化學習代理在想像中練習用的環境模型、LeCun 主張預測抽象表示的架構路線,以及能隨操作即時生成畫面的互動環境。內容用示例說明怎麼在想像中規劃,並列出大型語言模型有沒有世界模型的正反研究,附讀新聞時的檢查問題。

  • 生活分享

    視覺語言模型(VLM)是什麼:讓 AI 讀圖片、再用文字回答

    視覺語言模型(VLM)能同時接收圖片與文字,再用文字回答。內容拆解視覺編碼器、連接層與語言模型三段結構,說明 CLIP、Flamingo、LLaVA 三篇論文各補上哪一塊,並和多模態 AI、文字生圖分清楚;也整理它常犯的錯:數錯數量、搞混位置、說出圖裡沒有的東西,附上讀收據時逐行核對的步驟。

  • 生活分享

    溫度(Temperature)是什麼:AI 回答變化程度的取樣參數

    溫度(temperature)是文字生成時調整取樣的參數,讓模型從下一個 token 的機率分布裡抽得更集中或更分散。用假想的台南早餐示例算出低溫與高溫的差別,說明 top-p 的來源和它與 top-k 的差別,並依官方文件與論文指出:調低溫度不代表更準,設成 0 也不保證每次相同,部分模型還不開放調整。

  • 生活分享

    合成資料(Synthetic Data)是什麼:兩種用途、品質控管與模型崩潰

    合成資料是由演算法或模型產生、模仿真實資料特徵的資料,常見用途有兩種:訓練模型,以及在隱私需求下替代真資料。內容依 Self-Instruct、模型崩潰研究(替換與累積資料的差別)與 NIST、ICO 的隱私文件,說明做法、抽查流程,以及它不能保證的事。

最新旅遊情報攻略

資料來源

生活分享