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 网关这样的前端作为协议客户端连接到守护进程,以发送和接收事件。
适用对象
构建 AI Agent 的开发人员以及需要在其机器上以严格、可验证的安全边界和逐主体隔离运行不可信 Agent 代码的运营人员。
亮点
- WASM Sandboxing: 使用 Wasmtime 确保 capsules 无法直接访问主机内存或系统调用。
- Cryptographic Capabilities: 资源访问通过与主体绑定且会过期的签名 ed25519 授权进行管理。
- Per-Principal Isolation: 每个 Agent 身份都有其独立的隔离 capsule 访问、KV 存储、机密和审计链。
- Live Lifecycle: 无需重启即可从运行中的守护进程中安装、升级或移除 capsules。
- Signed Audit Chain: 维护一个哈希链接的、经过签名的 JSONL 日志,记录所有决策和调用,以便进行独立验证。