astrid-runtime/astrid
Astrid is a portable, capability-secure operating system for composable software.
它解决了什么问题
Astrid 解决了依赖提示(prompts)进行安全控制的 AI 代理框架固有的安全风险。与其信任模型的行为,Astrid 提供了一个操作系统级别的安全边界,将模型的决策与执行操作的权限分离开来,确保不受信任的代码无法在未获得明确的、加密授权的情况下访问文件、网络或凭据。
它如何工作
Astrid 作为一个用户空间运行时(目标是成为独立的操作系统)运行软件,这些软件以 WebAssembly (WASM) "胶囊" 的形式存在。这些胶囊使用 Wasmtime 进行沙箱化,且没有任何环境权限,意味着它们无法直接进行系统调用或访问主机内存。
通信和权限管理通过以下方式实现:
- 内核(Kernel): 一个“无智能”的事件路由器,负责管理事件总线,强制执行基于能力的访问控制列表(ACL),并维护一个已签名的审计链。
- 能力(Capabilities): 对资源(文件、网络主机)的访问通过已签名的 ed25519 令牌授予,这些令牌与主体绑定且可撤销。
- IPC 总线: 胶囊通过类型化的接口(WIT ABI)和事件总线进行通信,而非直接函数调用。
- 基于主体的隔离: 每个身份(主体)都有其独立的存储空间、密钥和胶囊访问权限。
适合谁使用
Astrid 专为需要高安全隔离和显式权限管理的开发者设计,适用于构建代理系统、工具和服务,也适合希望基于 WASM 组件构建自有软件分发体系的用户。
主要亮点
- 基于能力的加密模型: 每次资源访问都是一次已签名的授权,而非提示指令。
- WASM 沙箱化: 胶囊以零环境权限运行,防止未经授权的主机访问。
- 热加载(Hot-Loading): 胶囊可在运行时安装、升级或移除,无需重启运行时。
- 持久化状态: 采用内容寻址存储,并原生支持 macOS(FSKit)和 Linux(FUSE)的挂载。
- 可审计性: 已签名的、哈希链接的审计链记录所有决策和调用,支持独立验证。
相关
- 项目
- 项目
- 项目
- Dispatch
- Dispatch