ai-jail

给 AI 智能体套上沙箱,跑代码不毁机器

开源 free 智能体
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1333
维护状态 活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类智能体
开发团队akitaonrails
所属国家
官网地址
定价模式free
价格说明开源免费,需自行部署
访问状态
是否开源是
开源协议GPL-3.0
主要语言Rust
技术栈/模型
GitHub 星标★ 1333
30天Star增速
HF 下载量
上线时间2026-03-01 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-11
浏览次数0

项目介绍

ai-jail 是一个用 Rust 编写的多操作系统沙箱工具,专门用于运行 AI 智能体(AI agents)。它解决的核心问题是:当让 AI 智能体自动执行代码、调用工具或访问文件系统时,如何限制其行为范围,避免误操作或恶意行为影响宿主机。项目提供跨平台支持(Linux、macOS、Windows),通过系统级隔离机制为智能体创建受约束的运行环境。作者明确说明它并非 100% 安全,但足以应对大多数日常场景。核心能力包括:限制文件系统访问、约束网络与进程行为、以轻量方式快速启动沙箱实例,并可与常见的智能体框架配合使用。对于需要让 AI 自动写代码、跑命令但又不想把整台机器交出去的开发者来说,这是一个务实的折中方案。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:命令行工具 7 步

环境要求

  • macOS 或 Linux 系统(Linux 依赖 bubblewrap、Landlock、seccomp;macOS 使用 sandbox-exec)
  • Homebrew(macOS 安装方式)或 Arch Linux 的 yay
  • 已安装待运行的智能体 CLI,例如 claude,且能在 PATH 中调用
  • 从源码构建需 Rust/cargo 工具链(crates.io 或 yay -S ai-jail)

安装与启动步骤

  1. 1Homebrew 安装

    macOS 首选方式:先添加作者的 tap 仓库,再安装 ai-jail 命令行工具。

    brew tap akitaonrails/tap && brew install ai-jail
  2. 2Arch 安装

    Arch Linux 可选预编译 x86_64 二进制;想从源码构建则改用 yay -S ai-jail。

    yay -S ai-jail-bin
  3. 3进入项目目录

    切到要被沙箱圈定的项目目录,沙箱以该目录作为影响范围(blast radius)。

    cd ~/Projects/my-app
  4. 4先做干跑预演

    用 --dry-run 先验证策略,不会创建 .ai-jail,也不会真正写入任何状态。

    ai-jail --dry-run claude
  5. 5启动智能体

    在沙箱内运行 claude;项目目录默认可写,宿主能力默认不可用。

    ai-jail claude
  6. 6隔离凭据运行

    加 --no-agent-state 不挂载智能体凭据状态,相当于未登录的隔离运行。

    ai-jail --no-agent-state claude
  7. 7自定义策略

    按需编辑 ./.ai-jail(只能收紧)或 ~/.ai-jail(可信、可开放能力),CLI 标志优先级最高。

关键配置

配置项必填说明示例
./.ai-jail否项目级配置,不可信且单调:只能收紧沙箱,不能开启能力或端口./.ai-jail
~/.ai-jail否全局可信配置,可含基础表和 [commands.] 表~/.ai-jail
command否配置中的通用字段之一,指定要运行的命令claude
trust_project_config否仅全局配置可用,列出允许项目 .ai-jail 开启能力的目录~/Projects
allow_tcp_ports否控制允许的 TCP 端口,属于可被 CLI 覆盖的通用字段8080
env_pass否仅全局配置可用,用于环境变量传递策略env_pass

如何确认成功

运行 ai-jail --dry-run claude 无报错即策略校验通过;普通运行可在项目下看到 .ai-jail。

常见问题

Q:它能防住恶意代码吗?

A:不能。ai-jail 不是硬安全工具,也不是对抗恶意代码的边界;运行不可信代码请改用一次性 VM。它只防可信但会犯错的智能体误操作。

Q:为什么沙箱里看到的 .ai-jail 是空的?

A:项目配置默认被掩码,智能体只能看到空文件而非你的策略。把 .ai-jail 加入 .gitignore 并不提交,沙箱内 git status 就会完全干净。

Q:配置写错了会发生什么?

A:已存在但不可读或无效的项目/全局配置会 fail closed,不会用被削弱的策略启动沙箱。

Q:智能体会拿到我的凭据吗?

A:默认会挂载并预先登录 Claude 的凭据状态;想隔离并登出运行,加 --no-agent-state 参数。

Q:crates.io 怎么安装?

A:README 中该段内容被截断,只显示到 cargo inst,未给出完整命令,请到仓库页面确认后再执行。

注意事项

  • 首次普通运行可能创建 .ai-jail,--dry-run 从不写入;引导输出始终为 0600 权限。
  • 项目级配置只能收紧策略,想开放能力、映射路径或端口必须写在全局配置或 CLI 标志中。
  • 项目配置被掩码后,已提交的 .ai-jail 在沙箱内会显示为已修改,这是预期现象。
  • README 的 crates.io 安装命令被截断,本教程未给出该命令,避免写入不确定的参数。

核心亮点

  • 用 Rust 实现,性能与内存安全有保障,启动开销低
  • 支持 Linux/macOS/Windows 多平台,跨系统可用
  • 定位务实,明确承认安全边界,适合日常开发而非高安全场景

不足之处

  • 项目自述非 100% 安全,不适合处理高敏感数据或对抗性负载
  • 星标约 1.3k,生态与文档成熟度仍待观察

适用场景

  • 让 AI 智能体自动执行生成的代码并验证结果
  • 在本地运行第三方智能体插件时限制其文件与网络访问
  • CI 或开发机中隔离测试 AI 自动化脚本

替代项目

gVisor、Firecracker、E2B

上一篇:ai-passport

下一篇:tavily-mcp

同类项目推荐

xinchao-dynamic-mind 开源

给 AI 装上疲惫和欲望,让交互更真实

独立、可自托管的 AI 动态心智状态引擎:驱动力、念头池、疲惫、睡眠与意图。

★ 211 2026-08-09
goutoujunshi 开源

先哄情绪再出招,恋爱难题给可执行方案

一个先接住情绪、再分析关系并给出可执行策略的 Codex 恋爱军师,内置心理、法律、社会、人···

★ 7548 2026-09-25
geo-sleuth 开源

给 AI 装上地理侦探技能,一张照片顺藤摸瓜找到拍摄地

An agent skill that finds where a photo was taken — OpenStreetMap geometry, elevati···

★ 1628 2026-09-25
deepseek-harness 开源

把 AI 能力拆成乐高积木,拼出你的专属智能体。

DeepSeek Harness: Everything is a Plugin.

★ 246924 2026-08-15