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 日誌,記錄所有決策和呼叫,以便進行獨立驗證。