NVIDIA 的 OpenShell 把代理政策擋在核心層

NVIDIA 的 OpenShell 這個月在 GitHub 上拿到約 8,000 顆星,對一個基礎設施專案來說,這是奇怪程度的關注。它是一個給自主代理用的執行環境,以 Rust 寫成,Apache 2.0,而它做的事說起來容易、做起來難:它在核心層強制代理能碰什麼,並在政策變更生效前對它做形式驗證。
它處理的問題,在你第一次給代理真實憑證時就會出現。代理只有在能讀檔、裝套件、呼叫 API、使用密鑰時才有用。而在那個時候,它也是一個握有你的金鑰和你的網路的程式。大多數團隊用一個容器加一次祈禱來處理這件事。
強制執行實際長什麼樣
OpenShell 讓每個代理跑在隔離沙箱裡,並在核心加上監測,於執行時對每一次檔案存取、系統呼叫與網路連線檢查政策。連線在離開沙箱前就被檢查。憑證完全不交給代理;OpenShell 把它們注入發往已核准端點的請求,所以一次把代理環境倒出來的提示注入,什麼有用的東西都拿不到。
更不尋常的功能是政策證明器。在政策變更被核准之前,OpenShell 用形式驗證找出那個變更會授予哪些新存取,例如用憑證連到新主機,或呼叫新的 API 方法。那些變更會等待人工審查。
那是一個真正的設計決定,而且它翻轉了慣常的工作流。大多數沙箱工具要你先寫好政策,然後痛苦地發現你漏了什麼。OpenShell 讓代理在工作過程中請求存取,並在生效前把差異顯示給你。那是不是更好,取決於你多信任自己在週五傍晚六點的審查流程。

安裝
快速開始是一行、一個指令:
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh,然後 openshell sandbox create --name demo。安裝器會設好 CLI 和一個本地閘道。
需求是第一個真正的障礙:Linux、Apple Silicon 上的 macOS,或透過 WSL 2 的 Windows,而後者專案標為實驗性。你也需要 Docker、Podman 或可用的主機虛擬化。如果你的團隊在沒有 WSL 的 Windows 上開發,這不是五分鐘裝得完的。有一條透過 Microsoft MXC 的原生 Windows 路徑,記錄在側分支裡,有它自己的限制,值得在你承諾 Windows 上線前先讀。
預設沙箱映像是一個最小化的 Ubuntu,沒有安裝任何代理。要跑真的東西,文件會帶你走一遍用免費 OpenRouter 模型跑 OpenCode 的流程,包括代理撞牆、你核准它需要的新存取那一段。那段教學是儲存庫裡最有用的一頁,因為它展示審核迴圈,而不是描述它。
如果你想從程式碼驅動它,有 SDK:Python 透過 uv add openshell,TypeScript 透過 GitHub Packages 安裝,另外還有 Go 和 Rust。也有代理技能,用 npx skills add NVIDIA/OpenShell 安裝,教一個寫程式的代理驅動 CLI 並撰寫政策。那個細節比聽起來有趣。這個專案預期代理協助設定自己的籠子,而這要看你是否真的使用政策證明器前面的審核迴圈,才決定是有效率還是令人警覺。
營運帳單
任何在核心加上監測的東西,部署故事都比 pip install 複雜,而 OpenShell 對這點很誠實。有一個閘道、一個監督程式,以及沙箱本身。在 Kubernetes 上,你用 Helm 部署閘道,而你的 CNI 必須真的強制 NetworkPolicy,那是一句毀掉許多下午的話。如果你的叢集網路外掛忽略那些規則,沙箱邊界就是一份文件而不是一個控制,而你要到出事才會發現。
版本編號告訴你它在哪裡。0.1.x 系列引入了穩定的發布節奏、新的隔離原語與新的 API,這意味著 API 面還在移動。現在採用的團隊應該預期有升級工作。
遙測預設開啟。NVIDIA 說它僅限於營運類別與計數,不包含沙箱名稱、主機名稱、檔案路徑、提示、憑證、供應商或模型名稱,或使用者內容。你可以在閘道上用 OPENSHELL_TELEMETRY_ENABLED=false 關掉,Helm 安裝則用 server.telemetryEnabled=false。在企業審查裡,那個開關是有人會問的第一件事,所以在開會前先知道它在哪。
現在誰需要它
如果你只在自己筆電上跑一個寫程式的代理,你不需要 OpenShell。影響範圍是你自己的機器,而你在安裝那個代理時就已經接受了那個風險。
如果你跑一群會碰到生產資料、客戶紀錄,或一個有真實帳單的雲端帳號的代理,算法很快就變。讓安全團隊睡不著的那種失敗模式,不是模型說了失禮的話。是一個握有有效權杖的代理,完全照它被交代的去做,而在那個環境裡,「它被交代的事」受它讀過的一個網頁影響。
OpenShell 和一個樸素的 Docker 容器之間,差別在信任邊界坐在哪裡。容器限制代理能看見什麼。OpenShell 限制它能做什麼,在邊緣檢查網路,並讓憑證待在代理搆不到的地方。那是明顯更強的位置,代價是你要營運一個閘道、維護一份政策檔,以及多一個會在半夜把你叫起來的東西。
值得盯的那件事
形式驗證這個角度是我會盯的部分。如果政策變更能被在生效前檢查,有趣的問題就變成那個檢查在實務上有沒有用:它抓得到重要的變更嗎,它對不重要的變更保持安靜嗎。一個什麼都標記的證明器會被一路點過去,一個什麼都不標記的證明器是裝飾。
NVIDIA 有信譽也有誘因繼續維護它,而代理安全市場大到它不會是唯一選項。目前,如果你正在做代理產品裡「決定代理能碰什麼」的那部分,這是讀得到最具體的實作。讀它的政策模型值得花一小時,即使你永遠不裝它,因為它逼你回答大多數代理專案跳過的問題:這個東西到底被允許做什麼,而那是誰決定的。
相關文章
A$AP Rocky 掛了兩位 AI 藝術家,抄襲指控至今未經證實
〈Shroom Clouds〉的片尾名單點名兩位 AI 藝術家。那讓一個美學抱怨變成一場審計,而跟著它跑的抄襲指控,背後還沒有任何申訴。
VideoGen 說一句提示就能生出十分鐘影片,但沒人 benchmark 過
十分鐘是由多個鏡頭組裝而成,不是一次渲染完成。產品其實是那套規劃護欄,而成本與品質的主張都還在等第三方驗證。
影片榜第一名,是一顆會說話的頭
HeyGen Video 以每週 6.4 萬次請求領先,壓過 Veo 和 Wan。中國實驗室占路由影片流量約 54.8%,Runway 則是 0.3%。請求量到底在測什麼。
假的作畫縮時不是 AI 問題,是詐欺
一段安排好的作畫影片,賣的是從來沒有發生過的勞動。把它當成一般詐欺而不是 AI 倫理問題,是這個月關於此事最有用的一句話。