
GitAgent沙箱部署完全指南E2B与NVIDIA OpenShell双重隔离保障安全【免费下载链接】opengapA framework-agnostic, git-native standard for defining AI agents项目地址: https://gitcode.com/gh_mirrors/git/opengapGitAgent 是一款 git 原生的 AI Agent 框架Agent 的身份、规则、记忆和工具都以版本化文件存放。本文是一份 GitAgent 沙箱部署完整指南详解 E2B 云端沙箱与 NVIDIA OpenShell 本地隔离运行时两种方案帮助你把 AI Agent 关进安全笼子里运行。为什么 AI Agent 需要沙箱隔离AI Agent 拥有执行 Shell 命令、读写文件、调用云 API 的能力——非常强大但也很危险。一旦 Agent 被提示注入攻击或出现幻觉误执行rm -rf或泄漏密钥的后果不堪设想。沙箱部署的核心价值只有一句话把 Agent 关进隔离环境它只能做你批准的事做不了其他任何事。GitAgent 本身采用 git 原生设计——Agent 的所有产物都会提交到 git 仓库每一步改动可追踪、可回滚agent.yaml、SOUL.md、RULES.md。再叠加沙箱就构成了应用层 系统层的双重防线。两种沙箱方案速览方案一E2B 云端沙箱方案二NVIDIA OpenShell运行位置云端隔离 VM本地容器基于 Docker上手难度极低一个参数中等需编写策略文件隔离机制云厂商虚拟机级隔离Landlock LSM seccomp 内核级网络默认拒绝适用场景CI/CD 流水线、快速体验企业内网、受监管行业、本地推理方案一E2B 云端沙箱一条命令部署 AI AgentE2B 提供云端隔离虚拟机GitAgent 通过--sandbox参数即可把 Agent 的全部工具调用重定向到云端 VM 内执行。一键启用 E2B 沙箱先克隆仓库仓库为只读参考git clone https://gitcode.com/gh_mirrors/git/opengap然后在任意 git 仓库目录下启动沙箱模式gitagent --sandbox 帮我分析这个仓库并修复登录bug就这么简单。Agent 的cli、read、write、edit、memory五个工具会全部切换到沙箱版本在隔离 VM 中运行src/tools/sandbox-cli.ts —— Shell 命令在 VM 内执行src/tools/sandbox-read.ts —— VM 内读取文件src/tools/sandbox-write.ts —— VM 内写入文件src/tools/sandbox-memory.ts —— VM 内管理 git 记忆沙箱参数详解SDK 中沙箱由SandboxOptions控制定义见 src/sdk-types.ts参数类型说明providere2b目前支持 E2B 云沙箱repositorystring要克隆进沙箱的仓库地址缺省时自动读取本地origintokenstringGit Token也可用环境变量GITHUB_TOKEN提供timeoutnumberVM 超时时间秒sessionstring恢复已有沙箱会话autoCommitboolean是否自动提交产物默认trueenvsobject注入 VM 的环境变量注意沙箱模式需要安装可选依赖gitmachinenpm install gitmachine沙箱上下文由 src/sandbox.ts 的createSandboxContext动态创建并启动 VM。SDK 调用示例非常简洁——传true即用默认 E2B 配置import { query } from gitagent; for await (const msg of query({ prompt: Run the test suite and fix failures, model: openai:gpt-4o-mini, sandbox: { provider: e2b, autoCommit: true }, })) { if (msg.type delta) process.stdout.write(msg.content); }⚠️ 小提示沙箱模式与本地仓库模式--repo互斥二者只能选其一逻辑见 src/sdk.ts。方案二NVIDIA OpenShell 本地隔离运行时OpenShell 是 NVIDIA 开源的 AI Agent 专用沙箱运行时官方部署指南已收录在仓库的 docs/openshell-guide.md。它通过 YAML 策略文件精确控制 Agent 能读哪些文件、能连哪些 API、以什么权限运行且每一次被阻止的操作都会留下审计日志。OpenShell 提供的五层安全保障网络隔离—— 默认拒绝一切出站流量只放行策略中显式列出的 API 端点文件系统边界—— 基于 Linux Landlock LSM seccomp 内核机制强制执行不是应用层检查非 root 运行—— Agent 以sandbox用户运行永远无法提权策略热重载—— 运行中即可收紧或放宽规则无需重启完整审计链—— 每条被阻止的操作都记录二进制、目标地址和原因OpenShell 沙箱部署步骤前提条件宿主机装有 Docker并安装 OpenShell CLI。第一步准备沙箱镜像。创建sandboxes/gitagent/目录放一个 Dockerfile基于 OpenShell 社区基础镜像全局安装npm install -g gitagentlatest和policy.yaml策略文件。第二步创建沙箱并启动语音模式openshell sandbox create \ --from ./sandboxes/gitagent \ --policy ./sandboxes/gitagent/policy.yaml \ --forward 3333 \ --name gitagent-dev \ -- gitagent --voice --dir /sandbox/project然后浏览器打开http://localhost:3333即可与隔离环境中的 Agent 语音交互。第三步上传项目文件openshell sandbox upload gitagent-dev ./my-agent /sandbox/projectpolicy.yaml 关键配置解读策略文件是 OpenShell 的核心完整示例见 docs/openshell-guide.md四条黄金规则网络默认拒绝只为api.anthropic.com、api.openai.com、registry.npmjs.org等真正需要的端点开白名单文件系统最小化只读挂载/usr、/etc等系统目录读写权限只给/sandbox工作区和/tmp低权限用户run_as_user: sandbox从进程层面杜绝提权语音模式记得放行openai_realtimeWebSocket 端点否则语音 UI 无法工作审计模式起步逐步收紧推荐部署姿势先以审计模式跑通全流程——把策略里的enforcement设为audit只记录不拦截确认一切正常后切换为enforce真正拦截。运行中热更新策略openshell policy get gitagent-dev --full current.yaml # 编辑 current.yaml 后 openshell policy set gitagent-dev --policy current.yaml --wait监控与结果回收# 查看策略拦截日志最近5分钟的警告 openshell logs gitagent-dev --level warn --since 5m # 把沙箱产物下载回宿主机 openshell sandbox download gitagent-dev /sandbox/project/workspace ./output如果要用 GPU 跑本地推理如 Ollama加--gpu参数创建沙箱并在策略中补充 Ollama 端点即可详见 docs/openshell-guide.md。E2B 与 OpenShell 如何选择选 E2B如果你追求零配置快速上手、在 CI/CD 流水线中无人值守运行 Agent、希望按用量付费的弹性算力。选 OpenShell如果你数据不能离开内网、处于银行/医疗/政府等受监管行业、需要 GPU 本地推理、需要给合规团队出示完整审计日志。两者也可组合开发阶段用 E2B 快速迭代生产环境用 OpenShell 兜底。沙箱部署安全最佳实践清单✅最小网络原则每加一个 API 端点都要问Agent 真的需要它吗✅先 audit 后 enforce避免策略写错把 Agent 直接锁死✅开启审计日志GitAgent 内置合规审计日志写入.gitagent/audit.jsonl实现见 src/audit.ts✅配置合规策略在 agent.yaml 中声明risk_level、human_in_the_loop等字段校验逻辑见 src/compliance.ts✅用 Hooks 双保险在pre_tool_use钩子中拦截rm -rf等危险命令即使沙箱策略漏配也有应用层兜底✅定期演练拦截用openshell logs --level warn检查被拦截记录反向验证策略有效常见问题 FAQQ沙箱模式会损失 Agent 能力吗A不会。cli、read、write、edit、memory五个核心工具都有沙箱版本只是执行位置从本机搬到了隔离 VM行为完全一致。Q忘记装 gitmachine 会怎样A--sandbox启动时会抛出清晰错误提示Sandbox mode requires the gitmachine package安装即可解决。QOpenShell 需要 GPU 吗A不需要。--gpu仅在跑本地推理Ollama 等时使用纯 API 调用场景直接跳过。总结GitAgent 沙箱部署的核心就是两条路径E2B 云端 VM 一个参数秒级隔离适合快速启动和自动化流水线NVIDIA OpenShell 本地运行时策略级管控适合企业生产环境的纵深防御。配合 GitAgent 的 git 原生审计与合规能力你可以放心地把 AI Agent 交给它自动驾驶——因为每一步都在笼子内每一次拦截都有据可查。【免费下载链接】opengapA framework-agnostic, git-native standard for defining AI agents项目地址: https://gitcode.com/gh_mirrors/git/opengap创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考