astrid-runtime/astrid
Astrid is a portable, capability-secure operating system for composable software.
解決的問題
Astrid 為 AI Agent 提供了一個安全、可移植的執行階段。它透過用作業系統級的安全邊界取代基於提示詞的信任,解決了為不可信的 AI Agent 提供本地檔案、網路和憑證存取權限所帶來的安全風險。Astrid 不是信任模型會遵循指令,而是在執行階段層級使用基於權限的安全模型來強制執行安全。
工作原理
Astrid 作為一個「啞」核心運行,管理名為「capsules」的 WebAssembly (WASM) 組件的沙箱。這些 capsules 包含實際的邏輯、工具和 LLM 提供商。
- The Kernel: 作為事件路由和權限執行器。它不包含業務邏輯或 LLM 句柄;它只是路由 IPC (進程間通訊) 事件並執行存取控制列表 (ACL)。
- Capsules: 這些是透過匯流排通訊的 WASM 組件。每個 capsule 宣告其需求並提供特定的工具或服務。它們在沒有環境權限(無直接系統呼叫或檔案存取)的 Wasmtime 沙箱中運行。
- Capability Model: 對資源(檔案、網路主機)的存取透過經過簽名、範圍限定且可撤銷的令牌授予。沒有令牌就意味著沒有存取權限。
- Uplinks: 像 CLI 或 HTTP gateway 這樣的端點作為協定用戶端連接到守護進程,以發送和接收事件。
適用對象
構建 AI Agent 的開發人員以及需要在其機器上以嚴格、可驗證的安全邊界和逐主體隔離運行不可信 Agent 程式碼的營運人員。
亮點
- WASM Sandboxing: 使用 Wasmtime 確保 capsules 無法直接存取主機記憶體或系統呼叫。
- Cryptographic Capabilities: 資源存取透過與主體綁定且會過期的簽名 ed25519 授權進行管理。
- Per-Principal Isolation: 每個 Agent 身分都有其獨立的隔離 capsule 存取、KV 儲存、機密和稽核鏈。
- Live Lifecycle: 無需重啟即可從執行中的守護進程中安裝、升級或移除 capsules。
- Signed Audit Chain: 維護一個雜湊連結的、經過簽名的 JSONL 日誌,記錄所有決策和呼叫,以便進行獨立驗證。