astrid: 一個使用 WASM 沙箱技術為可組合式 AI agent 軟體提供權限安全保障的 OS
astrid: 一個使用 WASM 沙箱技術為可組合式 AI agent 軟體提供權限安全保障的 OS
它解決了什麼問題
Astrid 為 AI agent 提供了一個安全且可移植的執行環境。它透過將基於提示詞(prompt-based)的信任轉變為 OS 等級的安全邊界,解決了在本地機器上執行不受信任的 agent 代碼所帶來的安全風險。它確保 agent 無法存取檔案、網路或憑證,除非透過加密權限模型明確授予許可。
運作原理
Astrid 作為一個「笨」核心(dumb kernel)運作,負責管理一組被隔離的 WebAssembly (WASM) 組件,稱為 capsules。這些 capsules 包含了 provider、tools 和 orchestrators 的邏輯。
- Isolation: Capsules 在 Wasmtime 沙箱中執行,不具備環境權限(no ambient authority,即無法直接進行 syscalls 或檔案存取)。
- Communication: Capsules 透過使用 IPC 協定的事件匯流排(event bus)進行通訊。核心會強制執行基於權限的存取控制列表(ACL)來路由這些事件。
- Capability Model: 對資源(檔案、網路主機)的存取是透過簽署過的 ed25519 授權進行管理的,這些授權與主體(principal)綁定且可撤銷。
- Uplinks: CLI 或 HTTP gateway 等前端透過「uplinks」連接到核心,以發送與接收事件。
對象是誰
它是為開發可組合式 AI agent 軟體的開發者所設計的,這些開發者需要嚴格的安全保障、單一主體隔離(per-principal isolation),以及在不重啟系統的情況下熱載入(hot-load)與更新 tools 的方式。
重點特色
- Cryptographic Capabilities: 每次資源存取都需要簽署過的授權,即使 capsule 被入侵,也能防止未經授權的存取。
- WASM Sandboxing: 使用 WebAssembly 組件模型來確保代碼與宿主系統隔離。
- Per-Principal Isolation: 每個 agent 身分都有其獨立且隔離的 secrets、home directory 以及稽核鏈(audit chain)。
- Hot-Loading: Capsules 可以從運行中的 daemon 中安裝、升級或移除,而無需重新啟動。
- Signed Audit Chain: 維持一個以雜湊連結(hash-linked)且經過簽署的日誌,記錄所有決策與呼叫,以便進行獨立驗證。
Sources
- undefinedastrid-runtime/astrid