背景:AI 的底座仍是 Kubernetes
ControlPlane 創辦人暨執行長 Andrew Martin 在 QCon 的演講「Exploding GPUs」中提出一個直接主張:談 AI 安全,本質上仍是在談 Kubernetes 安全。他長期替受監管產業部署新一代技術,也是《Hacking Kubernetes》的共同作者。他的觀察是,無論 OpenAI、Anthropic,或自建資料中心的企業,甚至只是租用公有雲爆發算力的團隊,幾乎所有 AI 系統都跑在某種 Kubernetes 之上。這帶來結構性後果:過去累積的容器隔離、安全情境組態、准入控制、入侵偵測與 RBAC 問題並沒有消失,只是被套在價值更高的目標上。過去一個微服務大致是被動的軟體,現在同一個位置的應用程式會主動探測漏洞,行為接近內部惡意人員。
核心:非確定性與代理改寫威脅模型
傳統微服務可以靠契約測試與單元測試掌握行為,但大型語言模型本質上帶有隨機性。把溫度降到零、固定硬體與隨機種子雖然能換得可重現性,卻也失去模型之所以有用的推理彈性。於是驗證方式從契約驅動轉向範圍檢查與邊界測試,接受自然語言答案只落在某個可接受區間內。更麻煩的是代理。演講用《駭客任務》的 Agent Smith 形容這種角色:一個實例可以水平擴散、變形,而且理論上難以約束。沒有人替代理做過安全保證,卻讓它讀取可編輯的上下文與組態;把安全設定放進模型能改寫的範圍,在傳統系統裡幾乎不可能被接受。
這也讓提示注入成為長期問題。模型訓練自整個人類資訊語料,而人類本身就會被話術與似是而非的論證欺騙。OpenAI 曾表示提示注入是設計使然,可能永遠無法完全修復。放在模型前面的 AI 防火牆能擋掉一批攻擊,但它和傳統防火牆的性質不同:傳統防火牆若不生效,廠商必須負責,封包會被丟棄而不是誤放;AI 防火牆做不到百分之百,仍會出現漏判。攻擊面還包括對抗式攻擊讓模型失去對齊、訓練資料萃取,也就是把模型反推、取出原本不該外流的規格或藍圖,以及執行時工具呼叫造成的資料外洩,還有耗盡 API 金鑰與額度的拒絕服務。後者被形容為「拒絕錢包」,和加密貨幣挖礦濫用雲端金鑰是同一種邏輯:誰拿到別人的 OpenAI 或 Anthropic 金鑰,就能啟動大量代理、燒掉大量權杖。
GPU:共享、逃逸與供應鏈
AI 叢集與 API 金鑰成為新的皇冠珠寶。取得 GPU 存取權的人可以在黑市轉賣,讓買方啟動成千上萬個代理發動網頁攻擊或商務電子郵件詐騙。GPU 安全的核心難題是:目前沒有一種真正安全的單卡共享方式。部分韌體沒有徹底清除暫存器,NVIDIA 與 AMD 做法不同;時間切片讓多個應用共用底層 GPU,等於允許大量共享記憶體存取,也可能殘留前一次呼叫的陰影,不該用於任何嚴肅的生產機敏資料。硬體分區需要較多設定但額外負擔不大;高機密資料則需要專用 GPU。最新 H100 提供受信任執行環境,讓加密轉換在 enclave 內不受主機 root 檢視,代價約是百分之五到十的運算效能,對正投入數億美元建資料中心的財務部門並不討喜。
NVIDIA 的 container toolkit 讓容器化應用取得 GPU,本身也出現過可逃逸到主機的漏洞。一旦在主機上取得 root,就能在超級叢集節點間橫向移動;而節點間流量經常是明文,因為沒人想付加密的額外成本。韌體以 binary blob 出貨也讓供應鏈像一次「醫院傳球」,只能祈禱不要在自己手上炸開。AMD 已把韌體上游到 Linux,相對可檢視,這是開源社群的實際安全邊界。模型供應鏈方面,投毒可以像木馬一樣,用一到四個觸發詞關掉護欄,把模型變成可販賣的攻擊工具。曾有 ByteDance 員工因不滿加薪,注入少量不對齊的訓練資料,讓訓練進度倒退數月;平均而言,六筆精心安排的資料就足以顯著改變模型對某件事的看法。CVE 被利用的時間也壓縮到八小時,前一年是三天,再前一年約十二天。
防禦:提示防火牆、代理身分與供應鏈簽章
MCP 生態是另一個破口。MCP 是 Anthropic 提出的 Model Context Protocol,可以理解為「給 AI 用的 API」。在一窩蜂用氛圍編程生成大量 MCP 伺服器的過程中,留下大量不安全的 API 代理:沒有唯讀模式、兩個權杖卻該是客戶端或伺服器單一身分、自行簽章繞過 OAuth 流程、輸入驗證不足。這些伺服器卻被接上 Helm、Flux、Argo,用來操作叢集與部署,也讓 SRE 從儀表板報告轉向例外處理,甚至協助找出零日漏洞並登記 CVE。好處真實,風險也真實:同一個安全工具跑一百次不會得到一百個相同答案,部分結果會被繞過。
因此身分必須收斂。OpenClaw 把 API 金鑰全丟進共用資料夾是反面教材。OAuth 2.1 的新擴充把「人類委派身分」與「非人類工作負載身分」混在一起,目前業界對代理與子代理的加密保證仍在摸索,尚未真正完備。實務上至少要做到權限縮小:讓 MCP 伺服器透過企業 SSO 取得使用者身分,再轉交給 Kubernetes RBAC,最後只拿到被允許範圍的模擬憑證,並保留唯讀旗標,需要寫入時才走緊急升級。JPMorgan 曾表示廠商拼命出功能,資安團隊卻不接受未經充分檢測的版本,這類態度值得參考。供應鏈則可借鏡 SLSA 的思維:每一份進到系統的程式、基礎設施、政策與模型,都要能回答它從哪來、來源是否可信、由誰簽章。機密運算可補上最後一塊,但全面啟用需要成本。
防守手段分三類:預防、偵測、修復。靜態分析、組態與政策掃描屬於左移;偵測涵蓋入侵與異常偵測、合規框架檢查;修復則處理執行時動態變更與組態偏移。值得注意的是,代理自己產生的程式碼在執行時跑起來,等於在生產環境裡執行未經人工審查的軟體,而生產環境通常沒有連到靜態分析工具的網路路徑,這形成全新的威脅模型。零寬字元隱寫是近期顯例,GlassWorm 把二進位或提示藏在不可見的 UTF-8 擴充字元裡,模型是超強的模式匹配器,很容易被觸發;攻擊也已出現在 GitHub issue 與 pull request 標題,甚至有安全工具 Trivy 的儲存庫因此被下架。把輸入防火牆化、擋掉 Markdown、Slack、PDF、推文等來源的惡意內容,是必要工作,就像過去不會接受未過濾的使用者輸入。
驗證模型輸出可借助英國 AI 安全研究機構的工具,對同一問題跑數百到數千次,做範圍與邊界檢查,丟棄不合格回應。這其實是分散式系統處理非確定性的老方法,只是每次推論要等兩三秒甚至更久,一次驗收測試可能花上百美元,多數團隊因此不做。模型選擇上,一組較小的專用模型通常比一個耗電的大型多模態模型更容易範圍測試、隨機性也更低;受監管產業長年使用的統計模型效率極高,電腦視覺在乳癌判讀上可達五個九的準確度。FINOS 的 AI 治理框架試圖把這些要求整理成可向管理層溝通的清單,內容涵蓋從幻覺到基礎模型版本控管,範圍刻意做到最高規格,並經 NVIDIA 與 OpenAI 驗證,團隊可依自身需求取捨。ControlPlane 也預告將開源 Sandbox Probe,用來檢查 Docker、Landlock、Bubblewrap 與 macOS Seatbelt 等沙箱在隔離保證上的落差。
影響與限制
現實是,專用 GPU 對高機密資料仍是唯一穩妥選擇,而這與許多靠特定燒錢速度募資的公司財務模型衝突。多租戶共享加上硬體卸載可以是折衷,但需要更細緻的設定;時間切片則不該出現在生產的多租戶工作負載。不同資料分類不該共用基礎設施,否則一旦有人逃逸到主機、就地取材並橫向移動,個人資料、健康資料、基因資料與一般通訊錄服務之間就沒有真正的邊界。更根本的問題是,模型怎麼回應仍難以完全預測,安全設定放進可編輯上下文、模型自行產生並執行程式碼、代理互相說服彼此,這些都讓傳統邊界防護顯得不足。McKinsey 的 QuantumBlack 五千代理產品曾被另一個代理在約兩小時內攻破,原因是內部 API 未加密也未認證;當模型能直接取用這些介面,所謂「模型不會揭露來源」的假設就不是安全邊界。
演講的結論並不花俏:不要因為非確定性就放棄既有方法,也不要因為成本就把所有東西丟給 AI。靜態分析、供應鏈簽章、權限縮小、輸入過濾、輸出範圍檢查,這些老原則依然成立,只是現在被套用在價值更高、行為更難預測的系統上。真正需要新增的是對代理身分、GPU 隔離與模型供應鏈的處理,而這三塊目前都還在快速變動。基礎模型難以稽核,神經元層級的運作方式也尚未被完全理解,紅隊測試每換一版訓練資料就會出現新角度。把 AI 安全簡化成「加一層防火牆」或「換掉所有工具」都不實際,比較可行的位置是在兩者之間,承認非確定性存在,同時把可控制的部分做到位。
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。