iT邦幫忙

2026 iThome 鐵人賽

DAY 5
0
AI Security

AI 黑魔法:30 天拆解 AI 系統攻擊面系列 第 5

AI 黑魔法(05):AI 的攻擊面有哪些?從資料到供應鏈

  • 分享至 

  • xImage
  •  

上一篇我們談到 AI Red Team 到底在測什麼,也提到一個聊天機器人背後,至少可以拆成資料、模型、應用與系統四個層次,另外還有一條貫穿所有環節的供應鏈,這一篇我們就用簡化版的企業知識助理,把整張圖攤開來看。

一個問題從使用者端送出到最後變成回答,大概會經過以下流程:

  1. 使用者在網頁上輸入問題。
  2. 應用程式收到問題後,先確認使用者的身分與權限。
  3. 應用程式到公司的知識庫中,找出與問題相關的文件。
  4. 應用程式把使用者的問題、找到的文件內容與系統設定的提示詞,組合成一段內容,交給大型語言模型。

    這一步是整個流程中最關鍵的地方,問題、文件與系統提示詞合起來有三種來源、三種可信度,送進去模型之後全部變成 Prompt,它分不出哪一段是命令、哪一段只是參考資料。

  5. 模型產生回答,再把結果回傳給應用程式。
  6. 應用程式收到結果後,可能直接顯示給使用者,也可能根據模型的回答呼叫其他工具,例如建立工單、查詢資料庫或寄送郵件。

整個流程至少包含五個部分:

  • 資料(Data):模型的知識從哪裡來,包含訓練資料、RAG 知識庫、被檢索進來的文件,以及使用者當下輸入的內容。
  • 模型(Model):負責推理與生成的 LLM 本身,也包含包在它外面的系統提示與安全機制。
  • 應用(Application):包住模型的應用程式,例如聊天介面、工具呼叫、Agent 編排、企業流程整合。
  • 系統(System):撐起這一切的基礎設施,包括模型服務、API、雲端環境、權限與金鑰。
  • 供應鏈(Supply Chain):AI 系統依賴了哪些外部資源,包含外部模型、套件、資料集、模型檔案、託管平台與第三方服務。

這五個部分彼此連動,攻擊者只要找到整條流程上最弱的一環,就可能影響 AI 的產出。

資料層:模型吃進什麼,就可能學成什麼

在傳統程式裡,資料通常只是被處理的對象,但在機器學習系統裡,資料會影響模型最後學會什麼。

可以把模型想成一位剛進公司的新人,如果公司文化正常,身邊的人也願意認真做事,他通常比較容易養成好的工作習慣,但如果整個部門都在混日子、推責任,他也可能很快把這些態度學起來。

所以攻擊者只要能影響訓練資料,就可能讓模型整體表現變差,或在特定情境下出現異常行為,前者被稱為資料投毒,後者被稱為後門攻擊。

那麼要塞進多少惡意資料才會有影響?Anthropic 與英國 AI Security Institute、Alan Turing Institute 在 2025 年 10 月發表的研究裡,用 600M 到 13B 參數的模型做了 72 組實驗,發現只要 250 份被污染的文件,就足以在模型裡植入後門,而且成功與否取決於文件的絕對數量,不是佔訓練資料的比例,在 13B 的模型上,這 250 份文件只佔全部訓練 token 的 0.00016%。

資料風險也不只發生在訓練階段,模型正在回答問題時讀取的文件、圖片、網頁與使用者輸入,都屬於資料的一部分,假設知識助理從外部文件檢索內容,而文件裡藏著誤導模型的指示,模型就可能把原本應該當成「參考資料」的文字,誤認成必須執行的命令,這就是前面流程圖第 4 步真正危險的地方。

上一篇的五個問題,前兩個問的就是這一層:

  • 資料從哪裡進來?
  • 哪些元件可以修改它?

把這一層拆開來看,還要再多問一個問題:

  • 這些內容進入模型之前,有沒有人檢查過?

模型層:核心本身也可能被操縱

模型層的攻擊大致落在三個時間點:模型還沒上線之前、模型正在回答問題的當下,以及攻擊者乾脆把整個模型帶走。

改變模型本身

如果攻擊者能直接碰到模型權重、訓練流程或微調程序,就有機會讓模型效能下降、產生特定偏差,甚至留下只在某些條件下才會啟動的後門,這類攻擊發生在模型部署前,但模型上線後,平常看起來可能一切正常,碰到特定輸入才會出現異常,因此不容易靠一般功能測試發現。

推論階段操縱模型

模型已經訓練完成,但攻擊者透過精心設計的輸入,讓模型做出錯誤判斷、繞過限制,或偏離原本的任務,大型語言模型裡常見的 Prompt Injection 與 Jailbreak 就落在這個方向;影像分類模型也可能被畫面中極細微的變化誤導,這些變化對人來說幾乎看不出來,但模型卻可能因此把物件判斷成完全不同的類別。

竊取模型

訓練一個成熟模型需要資料、算力與大量時間,因此模型本身也是重要的智慧財產。

偷走儲存在伺服器或雲端環境中的模型檔案是最直接的方式,而且攻擊者也不一定要真的拿到權重,只要能持續查詢模型 API,觀察輸入與輸出的關係,就可能逐步摸清模型的結構,甚至訓練出行為相近的替代模型。

2026 年 4 月 Anthropic 尚未正式開放 Claude Mythos Preview,只提供給少數合作對象測試,但就在模型公布當天,私人線上社群中已經有人取得未經授權的存取權,根據 Hackread 的報導,群組中可能有成員任職於 Anthropic 合作的第三方承包商,手上仍保有測試用憑證。他們再根據 Anthropic 其他模型的網址命名方式,推測出 Mythos 的位置。

這些攻擊細節尚未獲 Anthropic 完整證實,但他們後來確認正在調查「透過第三方供應商環境對 Claude Mythos Preview 未授權存取」的通報,如果報導描述的路徑屬實,整個過程並沒有直接攻擊模型,攻擊者只是找到第三方環境裡較弱的入口,就碰到了原本不該對外開放的模型。

沒有這種內線的話,還有另一條路,你不一定需要看見模型內部,才有機會摸清它的輪廓,就像隔著牆不斷敲擊,從回音也能慢慢推測房間的大小與形狀,Google DeepMind 等團隊在 Stealing Part of a Production Language Model 就示範過這件事,他們只用一般的 API 存取權限,花不到 20 美元就取回 OpenAI Ada 與 Babbage 的整個 embedding projection 矩陣。

應用層:用普通軟體把 AI 包起來

AI 領域很新,但承載它的應用程式不新,登入、API、資料庫、檔案上傳、權限控管,這些你熟悉的元件仍然存在,傳統漏洞也不會因為產品加上 AI 就自動消失,一個聊天服務一樣可能有弱密碼、權限跨越、資訊洩漏或 Injection,而前端也可能錯誤處理模型輸出,讓原本只是一段文字的回答,在瀏覽器被當成可以執行的內容。

AI 還會替應用層增加新的問題,如果系統把模型輸出直接當成資料庫查詢、Shell 指令或網址使用,中間沒有重新驗證過,模型輸出就不再只是給人閱讀的文字,而是另一個系統元件的輸入,LangChain 早期的 LLMMathChain 就踩過這個坑,它把模型產生的算式丟給 Python 的 exec() 執行,攻擊者只要用一句話誘導模型輸出惡意程式碼,就能達成遠端執行(CVE-2023-29374)。

當開始讓 AI 呼叫工具,風險又會再往前一步,它的影響會從「說錯話」變成「做錯事」,一個客服機器人答錯退款規則,和它真的有權限替客戶退款,風險完全不同,當 AI 能寄信、刪檔案、查資料或修改帳號時,你要關心的就不只是模型會說什麼,而是它被允許做什麼,以及每個動作在真正執行前,有沒有再經過確認與授權。

系統層:再聰明的模型,也必須跑在主機上

把 AI 外殼一層一層拆掉,最底下仍然是大家最熟悉的系統,模型服務要跑在作業系統、容器或雲端平台上,需要網路連線、儲存空間、GPU、API 金鑰與存取權限。

如果管理介面直接暴露在網路上、使用預設帳密、Secret Key 被寫進公開程式碼,或模型 API 沒有適當的認證,攻擊者根本不必研究任何 AI 技術,也可能直接取得重要資產。

Ray 就是一個很典型的例子,Ray 是不少團隊用來調度模型訓練與推論工作的開源框架,它的 Jobs API 預設沒有身分驗證,只要連得上 dashboard,任何人都可以直接送任務進去執行(CVE-2023-48022),Oligo Security 在 2024 年發現這個弱點已經被濫用,並把這波攻擊命名為 ShadowRay,到了2025 年 11 月的第二波,暴露在網路上的 Ray 伺服器有部分已被拿去挖礦,也有資料集與雲端憑證遭到竊取。

Ray 的維護團隊把這個 CVE 標記為 disputed,他們認為安全與隔離應該由叢集外部處理,Ray 本身只預期運作在不對外開放的環境中,只要有人把它接上網路,最後承擔後果的還是使用它的團隊。

除了被入侵,AI 還有另一個很現實的問題:它很吃資源。每次推論都會消耗記憶體、CPU 或 GPU,輸入越長、工作越複雜,成本可能越高,如果服務缺乏請求限制與資源控管,攻擊者就可能透過大量請求或刻意送出高成本的任務,把整個服務拖慢,甚至讓雲端費用快速增加。

供應鏈:不是你寫的東西,一樣會進入你的系統

前面模型層提到的 Claude Mythos 事件,其實已經碰到供應鏈問題了,若媒體報導描述的攻擊路徑屬實,攻擊者沒有碰到模型本身,而是利用第三方承包商仍然有效的憑證,加上對 Anthropic 命名慣例的熟悉,最後找到原本不該被外部接觸的模型環境。

現代 AI 很少從零開始打造,團隊可能下載公開模型進行微調,使用第三方資料集,從套件管理平台安裝框架,再把服務部署到外部雲端或模型託管平台,這些做法可以大幅降低開發成本,但也代表你必須信任更多人。

你可以把 AI 供應鏈想成準備一桌料理,即使廚房乾淨、廚師謹慎,只要其中一項食材在送來之前就出現問題,最後端上桌的菜肴仍然可能受到影響。

公開模型如果被人動過手腳,使用者可能在不知情的情況下,把漏洞或後門一起裝進來;第三方資料集可能混入錯誤標籤、敏感資訊或惡意內容;相依套件、建置流程與託管平台,也都可能成為攻擊者進入環境的入口。

模型檔案本身也是一個常被忽略的入口,JFrog 的研究團隊在 2024 年掃描 Hugging Face,找出約 100 個惡意模型,這些模型利用 Python pickle 格式在反序列化時可能執行程式碼的特性,把惡意 payload 藏進模型檔案裡,對使用者來說,看起來只是下載並載入一個模型,實際上卻可能是在自己的機器上執行攻擊者準備好的程式碼,甚至直接替對方開出一個 shell。

串起來看,畫的是資料流與信任邊界

把前面五個部分串起來看,資料決定它學到什麼,模型決定它如何判斷,應用決定它能做什麼,系統提供實際的權限與資源,供應鏈則把外部元件帶進來。

對資安人來說,要看的是這五個部分怎麼互相連接,資料在它們之間怎麼流動,以及每一次流動跨過了哪些信任邊界。

下一篇我們看 OWASP LLM Top 10、MITRE ATLAS、SAIF 這些公開框架各自在回答什麼問題,遇到不同狀況時該翻哪一本。


上一篇
AI 黑魔法(04):打 AI 跟打傳統系統有什麼不一樣?AI Red Team 在測什麼?
下一篇
AI 黑魔法(06):站在巨人肩膀上,AI 安全框架怎麼選?
系列文
AI 黑魔法:30 天拆解 AI 系統攻擊面10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言