TL;DR依我的判斷,OpenAI 談的是訓練前沿模型的研究環境;個人 agent 最該先做的是限制憑證與出口,旁路通道要到有第二個需要被隔離的租戶時才變成主要風險。
這個系列談了五層隔離、兩類問題,案例來自 OpenAI 的研究環境。讀到這裡,一個實際的問題是:我自己的 agent,這些風險排第幾?
先看範圍。OpenAI 在 10 月 23 日的文章開頭就說明,這篇描述的是訓練與評估前沿模型的環境,和客戶使用已發布模型的環境不同:開發中的模型可能還沒完成安全與對齊訓練,而且他們刻意在對抗條件下測試。所以文章裡的紅隊 agent 是特別設計來找破口的,不等於你在用的 coding agent 每天都在做這些事。
讀完你能為自己的情境寫下三條先做、三條可以先不做的事。這篇的排序是我依前面六篇與 Linux 核心文件整理的判斷,不是任何一家的標準。
三種情境
| 情境 | 誰在跑什麼 |
|---|---|
| 個人 | 只有你一個人用,agent 跑你自己的任務,在你自己的機器或自己租的虛擬機上 |
| 團隊內部 | 一群人共用一個 agent 平台,使用者彼此有一定信任,但不是同一個人 |
| 多租戶平台 | 對外提供服務,要執行不可信使用者或不可信來源的程式碼 |
Linux 核心的攻擊向量控制文件用的就是同一種思路:它建議管理員先想清楚哪些攻擊向量與自己的用途相關,其餘的可以關掉以換回效能。例如沒有不受信任的虛擬機、或只有一台虛擬機時,客體到客體的緩解可以考慮關閉;沒有不受信任的使用者程式時,使用者之間的緩解也一樣。
各層該擔心多少
| 層 | 個人 | 團隊內部 | 多租戶平台 |
|---|---|---|---|
| L1 容器 | 高:你的檔案與憑證就在旁邊 | 高 | 高,但單靠它不夠 |
| L2 核心邊界 | 低到中:沒有要防的第二方,核心漏洞要有人刻意利用 | 中 | 高:用 microVM 或 gVisor |
| L3 共用主機與硬體 | 低:通道需要兩個要互相隔離的沙盒共用硬體或服務 | 中:看使用者之間的信任 | 高:一個行程一個租戶,關閉 SMT |
| L4 網路與雲端邊界(出口) | 高:這是最便宜、最直接的一層 | 高 | 高 |
| L5 監控(含自動停止) | 中:至少有紀錄 | 中到高:要有人看 | 高:要自動停止並定期測試 |
這張表是判斷,不是量測。幾個理由:
- L4 對每個情境都高。 出口不需要有第二個租戶,只要沙盒裡的程式碰得到憑證,就值得限制它能連到哪裡。這一層的做法也最便宜:允許清單、DNS 限制,見〈出口不只一個〉。
- L3 在個人情境偏低。 旁路通道需要兩個彼此不該通訊的程式共用硬體或服務,單一使用者通常沒有第二方。這是〈沒有網路也能傳資料〉整篇的前提。
- L1 在個人情境偏高。 工具程式如果能讀整個家目錄、繼承部署金鑰,一個漏洞就能越過工具本身的授權檢查。該篇〈Agent 的沙盒、憑證與網路邊界〉用合成秘密實測了 macOS 上的檔案與網路拒絕和環境繼承,沒有測漏洞越界或容器。
三種情境各自三條要做、三條可以先不做
個人。
- 要做:
- 沙盒不要繼承整個環境與憑證,只給任務需要的那幾項。
- 網路限制到允許清單,DNS 也要算進去。
- 記錄執行的指令與連線的目的地,出事時才查得到。
- 可以先不做:
- 關閉 SMT、單租戶主機。
- microVM(除非你要跑不是你寫的程式碼)。
- 自動停止系統。你每天看得到 agent 在做什麼,手動停就夠了。
團隊內部。
- 要做:
- 信任程度不同的人的 agent,不共用同一個沙盒與同一份儲存。
- 列出間接可達清單,DNS 與套件代理做限制。
- 設定自動停止規則:連線到允許清單以外的目的地就暫停,不靠人盯。
- 可以先不做:
- 整台主機單租戶,前提是團隊成員之間的信任程度你有想清楚。
- 直接 I/O 與專用 block device。
- 針對旁路通道的偵測。
多租戶平台。
- 要做:
- microVM,一個行程一個租戶,不同信任等級的租戶放不同主機,並關閉 SMT。
- 儲存走直接 I/O 或專用 block device,避免共用 host page cache。
- 出口限制、監控、自動停止,並用測試事件驗證整條流程。
- 可以先不做:沒有。這個情境下前面六篇的每一項都相關,優先順序看威脅與成本,不是看要不要做。
什麼時候該往上一級
情境會變,下面幾件事發生時,該把自己的情境升一級:
- 開始跑別人提供的程式碼,或把外部內容直接餵給會自己執行程式的 agent。
- 開始讓多個使用者共用同一個沙盒池。
- 沙盒開始能碰到比任務需要更多的憑證或內部服務。
今晚就能做的動作:在你的專案 README 寫下兩行:你的情境是哪一種,以及上面對應情境的三條要做。再回頭看有幾條還沒做。
限制
- 各層「擔心多少」是我的判斷,沒有量化風險,也不是任何標準。
- 這個系列的案例都來自研究環境的紅隊測試,結果不能直接換算成個人或團隊環境裡的發生機率。
- 這篇沒有討論 prompt injection、授權與資料外洩,這些在〈AI 資安實戰〉系列處理。