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