akitaonrails/ai-jail

Multi-OS sandbox to run AI agents with better constraints (it is not 100% secure, but enough)

解决的问题

ai-jail 为运行 AI 编码代理提供了一个安全的 OS 级沙箱。它防止代理对主机系统、主目录和敏感凭证进行无限制访问,从而在代理执行代码或访问文件时降低意外或恶意损害的风险。

工作原理

在 Linux 上,该工具使用 bubblewrap (bwrap) 结合 Landlock、seccomp 和资源限制来隔离进程。在 macOS 上,它使用 sandbox-exec 接口。默认情况下,它会创建一个私有的临时主目录(tmpfs),并限制对网络、GPU、显示和主机 IPC 的访问。用户可以通过 CLI 标志或配置文件显式启用特定功能(如网络访问或挂载特定代理凭据)。

适用人群

使用 AI 编码代理(如 Claude)并希望在受限环境中运行它们以保护主机机器和个人数据,而无需使用完整虚拟机的开发者。

主要特性

  • 安全默认设置:网络、GPU、显示和主机主目录访问默认被禁用。
  • 细粒度控制:可选择性地挂载代理状态、特定环境变量或只读/读写路径。
  • 秘密保护:支持屏蔽或拒绝访问项目文件夹内的特定文件或目录(例如 .env 文件)。
  • 跨平台支持:支持 Linux 和 macOS(Windows 通过 WSL2)。
  • 工具链集成:与 mise 集成,确保代理可访问项目所需的正确语言版本。

相关

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