astrid-runtime/astrid

Astrid is a portable, capability-secure operating system for composable software.

它解決的問題

Astrid 解決了依賴提示(prompt)來確保安全的 AI 代理框架中固有的安全風險。與信任模型行為不同,Astrid 提供了作業系統級的安全邊界,將模型的決策與執行動作的權限分離,確保不受信任的程式碼無法在未經明確、加密授權的情況下存取檔案、網路或憑證。

如何運作

Astrid 作為一個使用者空間執行時(目標是成為獨立作業系統)運作,將軟體以 WebAssembly (WASM)「封包」的形式執行。這些封包使用 Wasmtime 進行沙箱化,且完全沒有環境權限,表示它們無法直接進行系統呼叫或存取主機記憶體。

通訊與權限管理透過以下方式進行:

  • 核心(Kernel): 一個「無智慧」的事件路由器,負責管理事件總線、強制執行基於能力的存取控制清單(ACL),並維護已簽署的審計鏈。
  • 能力(Capabilities): 對資源(檔案、網路主機)的存取透過已簽署的 ed25519 憑證授予,這些憑證與主體綁定且可撤銷。
  • IPC 總線: 封包透過類型化介面(WIT ABI)和事件總線進行通訊,而非直接函式呼叫。
  • 主體隔離: 每個身分(主體)皆擁有獨立的儲存空間、機密資料與封包存取權限。

適用對象

Astrid 適用於需要高安全性隔離與明確權限管理的開發者,用於建構代理系統、工具與服務,也適用於希望基於 WASM 元件建立自有軟體發行版本的開發者。

主要特色

  • 加密能力模型: 每次資源存取皆為已簽署的授權,而非提示指令。
  • WASM 沙箱化: 封包以零環境權限執行,防止未經授權的主機存取。
  • 熱載入: 封包可在執行時安裝、升級或移除,無需重新啟動執行時。
  • 持久化狀態: 使用內容位址儲存,並原生支援 macOS(FSKit)與 Linux(FUSE)掛載。
  • 可審計性: 已簽署、雜湊連結的審計鏈記錄所有決策與呼叫,供獨立驗證。

相關

  • 專案
  • 專案
  • 專案
  • Dispatch
  • Dispatch