一個名為 Microsandbox 的新沙盒平臺已經出現,聲稱解決了安全程式碼執行中最大的痛點之一:啟動虛擬機器所需的時間。雖然傳統虛擬機器可能需要5-10秒才能啟動,但 Microsandbox 承諾使用輕量級虛擬化技術實現低於300毫秒的啟動時間。
該專案解決了 AI 和開發社群對安全執行不可信程式碼日益增長的需求。無論是使用者生成的指令碼、AI 代理程式碼執行,還是實驗性資料處理,開發者長期以來一直在安全性和速度之間的權衡中掙扎。在本地執行程式碼存在安全風險,容器可能被老練的攻擊者逃逸,而傳統虛擬機器緩慢的啟動時間會嚴重影響生產力。
效能對比:
- 傳統虛擬機器:啟動時間 5-10 秒
- Microsandbox :啟動時間不到 300 毫秒
- 空閒超時:500 秒
- 技術基礎:基於 Firecracker/libkrun 構建
![]() |
---|
探索 Microsandbox 的 GitHub 程式碼庫揭示了其底層程式碼架構和貢獻機會 |
技術架構和速度宣告
Microsandbox 透過構建在與 Amazon 的 Firecracker microVM 平臺相同的技術基礎上來實現速度改進,使用一個名為 libkrun 的工具來提供跨平臺支援,包括 macOS。該系統儲存初始化的虛擬機器狀態並將其載入到記憶體中,而不是每次都執行完整的啟動序列。
社群討論揭示了關於為什麼傳統虛擬機器啟動緩慢的有趣技術細節。延遲不僅僅來自啟動作業系統——在執行第一條 BIOS 指令之前,虛擬機器管理程式本身就有顯著的開銷。這包括記憶體分配、虛擬 CPU 初始化、裝置列舉以及記憶體頁面清零等安全過程。
開發者體驗和使用場景
該平臺透過 SDK 整合和基於專案的開發提供服務,使用 Sandfiles——類似於 Docker 方法但用於虛擬機器的配置檔案。開發者可以將沙盒安裝為系統命令,透過單個命令從任何終端使其可用。這解決了阻礙現有 microVM 解決方案更廣泛採用的摩擦問題。
建立者強調 Microsandbox 專門針對 AI 構建者,與現有解決方案如 Kata Containers 或 Cloud Hypervisor 相比提供更簡單的設定。該平臺透過 Python、JavaScript、Rust 和 Go 的 SDK 支援多種程式語言,並計劃支援更多語言。
支援的平臺和語言:
- 平臺: Linux 、 macOS (透過 libkrun )、 Windows (開發中)
- SDK 語言: Python 、 JavaScript/Node.js 、 Rust 、 Go
- 容器相容性: 與標準容器映象相容的 OCI 標準
安全和網路控制
對於注重安全的應用程式,Microsandbox 透過作用域屬性包含網路限制,該屬性可以限制虛擬機器僅訪問公共 IP 地址,防止訪問本地網路資源。此功能解決了構建分散式測試網路和其他安全敏感應用程式的開發者的擔憂。
該平臺在提供類似容器的易用性的同時保持真正的虛擬機器隔離。每個沙盒都可以配置特定的記憶體限制、CPU 分配,甚至可以訪問 GPU 來處理資料分析或機器學習工作負載等計算密集型任務。
主要特性:
- 基於 Intel 硬體分離的真正 VM 隔離
- 網路範圍限制以確保安全性
- 基於專案的開發,支援 Sandfiles
- 系統命令安裝功能
- 記憶體、CPU 和 GPU 資源分配
- 多階段構建支援(開發中)
當前限制和未來計劃
雖然前景看好,但該平臺仍在開發中。Windows 支援正在進行中,虛擬機器內的 GUI 支援已計劃但尚未實現。該專案目前專注於命令列應用程式和伺服器工作負載,而不是桌面環境。
這個開源專案採用 Apache-2.0 許可證運營,歡迎社群貢獻。隨著對安全 AI 程式碼執行需求的增長,像 Microsandbox 這樣的工具可能會成為下一代需要安全快速執行不可信程式碼的 AI 驅動應用程式的基礎設施。
參考:microsandbox/microsandbox: Secure Platform for Naturally Executing Untrusted or Malicious Code