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。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目