multikernel/sandlock
The lightest AI sandbox. A process-based sandbox for Linux, no container, no VM, no privilege, no prompt injection
解决的问题
Sandlock 提供了一种轻量级、高性能的方式,在 Linux 上隔离不受信任的代码,而无需容器或虚拟机的开销。它旨在保护应用程序(如 AI 代理或脚本),通过限制其对文件系统、网络和系统调用的访问,而无需 root 权限或复杂的镜像构建。
工作原理
Sandlock 使用现代 Linux 内核特性,特别是 Landlock(用于文件系统和网络访问控制)和 seccomp-bpf(用于系统调用过滤)。它还利用 seccomp 用户通知来强制执行资源限制并虚拟化系统部分功能。由于不依赖 cgroups 或命名空间,与传统容器运行时相比,它实现了近乎即时的启动时间(约 5 毫秒)和极小的性能开销。
适用对象
该项目面向构建 AI 代理、自动化工具或任何需要安全执行不受信任代码的应用程序的开发者。对于那些需要精细控制代理可访问内容(例如特定 HTTP 端点或目录)而无需管理 Docker 容器复杂性的场景尤其有用。
亮点
- 无 root 操作: 无需 root 权限、cgroups 或容器运行时即可运行。
- 精细控制: 支持 HTTP 级访问控制列表(ACL)和特定的网络/文件系统路径规则。
- 写时复制(COW)文件系统: 通过捕获更改自动保护您的工作目录,更改可以提交或丢弃。
- 低开销: 启动速度显著快于 Docker 或 MicroVM,延迟更低。
- 多语言支持: 提供原生 Rust 库、CLI 以及 Python 和 Go 的 SDK。
相关
- 项目
- 项目
- 项目
- 项目
- 项目