ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Agent Safehouse实战:如何把Claude Code、Codex关进沙箱还保持高效编码

Agent Safehouse实战:如何把Claude Code、Codex关进沙箱还保持高效编码 Agent Safehouse实战如何把Claude Code、Codex关进沙箱还保持高效编码【免费下载链接】agent-safehouseSandbox your local AI agents so they can read/write only what they need项目地址: https://gitcode.com/gh_mirrors/ag/agent-safehouseAgent Safehouse是一款 macOS 原生 AI 编码代理沙箱工具用一条命令就能把 Claude Code、Codex 等 AI 编程助手关进安全屋默认拒绝一切只放行它真正需要的文件和目录让 AI 智能体在沙箱中高效编码的同时保护你的 SSH 密钥、云凭证和个人文件不受提示注入攻击波及。为什么需要给 AI 代理上沙箱 LLM 编码代理Coding Agent会在你的终端里以你的用户权限执行 shell 命令。一次提示注入、一条误判的命令就可能让它碰到~/.ssh下的 SSH 私钥云厂商凭证AWS、GCP 等无关的代码仓库和个人文件Agent Safehouse 基于 macOS 自带的sandbox-execSeatbelt构建采用**可组合的策略配置文件 默认拒绝deny-first**模型用极小的性能开销显著缩小爆炸半径。它不是虚拟机而是实用的加固层——详见 isolation-models.md 中 VM / 容器 / Safehouse 的隔离模型对比。每条策略规则只回答一个问题代理需要它才能完成工作吗一键安装步骤两种安装方式任选其一方式一Homebrew 安装推荐brew install eugene1g/safehouse/agent-safehouse方式二独立脚本安装mkdir -p ~/.local/bin curl -fsSL https://github.com/eugene1g/agent-safehouse/releases/latest/download/safehouse.sh \ -o ~/.local/bin/safehouse chmod x ~/.local/bin/safehouse纯 Bash 实现、零依赖安装后即可使用。最快上手把 Claude Code 关进沙箱进入你的项目目录一条命令即可启动沙箱化的 Claude Codecd ~/projects/my-app safehouse claude --dangerously-skip-permissionsCodex 同理safehouse codex --dangerously-bypass-approvals-and-sandboxSafehouse 会自动为当前目录授予读写权限并为 Claude、Codex 等 14 主流智能体Aider、Cline、Gemini CLI、Goose、OpenCode 等自动匹配内置代理档案档案文件位于 profiles/60-agents/ 目录例如 claude-code.sb 和 codex.sb。高效配置技巧shell 函数让日常使用无感官方推荐的用法是在 shell 配置中定义包装函数之后打claude就等于在沙箱里运行同时只透传必要的 API Key 环境变量避免把GITHUB_TOKEN等全部密钥泄露进沙箱# ~/.bashrc 或 ~/.zshrc safe() { safehouse --add-dirs-ro~/mywork $; } safekeys() { safe --env-passOPENAI_API_KEY,ANTHROPIC_API_KEY,GEMINI_API_KEY $; } claude() { safe claude --dangerously-skip-permissions $; } codex() { safe codex --dangerously-bypass-approvals-and-sandbox $; }完整配置参见 getting-started.md。精确控制读写范围场景参数额外授予读写目录--add-dirs/tmp/scratch:/data/shared授予只读参考库--add-dirs-ro/repos/shared-lib只读单个文件--add-dirs-ro~/.gitignore追加自定义策略最后加载--append-profile./local-overrides.sb覆盖工作目录--workdir/tmp/scratch常用命令示例# 授予只读参考库后运行 Aider safehouse --add-dirs-ro/repos/shared-lib -- aider # 信任并加载 workdir/.safehouse 项目级配置 safehouse --trust-workdir-config aider沙箱里 AI 到底能做什么、不能做什么默认放行保证高效编码⚡当前工作目录的读写权限Shell、编译器、包管理器所需的系统/工具链路径git、make、clang等进程执行与 fork正常开发子进程树网络访问注册表、API、远端、MCP 服务器默认拒绝保护敏感资产️~/.ssh下的 SSH 私钥递归读取整个$HOMEstat ~能成功但ls ~和cat ~/secret.txt会失败Shell 启动文件除非--enableshell-init浏览器 Cookie、登录数据等敏感数据剪贴板、Docker、kubectl 等集成均需显式--enable开启需要 Docker / 浏览器等集成用 --enable 按需开启所有敏感能力都是显式 opt-in# Docker socket 访问 safehouse --enabledocker -- docker ps # Playwright 驱动的 Chrome 测试 safehouse --enableplaywright-chrome -- codex # GPG 提交签名先在沙箱外启动 gpg-agent safehouse --enablegpg -- git commit -S -m feat: signed完整的可选特性清单见 options.md。进阶用策略文件做最终否决--append-profile追加的策略最后加载可以用 deny 规则收窄前面的默认授权。例如让工作目录虽可写但.env文件始终不可读;; ~/.config/agent-safehouse/local-overrides.sb (deny file-read* file-write* (workdir-literal /.env))策略语法完全可组合基础层、工具链层、集成层的档案分别位于 profiles/00-base.sb、profiles/30-toolchains/、profiles/50-integrations-core/ 目录。常见问题沙箱和 VM、容器有什么区别简短结论Safehouse 是主机级策略加固层不是 VM 替代品。模型隔离强度工作流摩擦适合场景虚拟机最强独立内核高需同步、重复装工具对抗性威胁防御容器中等共享内核中可复现的应用运行环境Safehouse实用级路径/服务最小授权极低原生 macOS 工具链不动日常本地编码代理的风险收敛若需要更强隔离可以在 VM 内部再套一层 Safehouse兼得边界隔离与细粒度策略。详细对比见 isolation-models.md。如何验证沙箱策略是否符合预期内置两个调试开关随时查看最终生效的策略# 打印生成的完整策略 safehouse --stdout # 解释生效的 workdir / 授权 / 档案选择 safehouse --explain --stdout对每个受支持代理的完整沙箱行为分析报告文件系统访问模式、网络行为等收录在 agent-investigations/ 目录例如 claude-code.md、codex.md。小结Agent Safehouse 的核心价值就三点一条命令沙箱化safehouse claude/safehouse codex即刻生效默认拒绝 最小授权SSH 密钥、~/.env、个人文件天然隔离工作流几乎零改动原生 macOS 工具链、网络、Git 全部照常工作配合 shell 函数包装后你几乎感觉不到它的存在——直到某天 AI 试图cat ~/.ssh/id_rsa被沙箱挡下时你会庆幸多这道防线。【免费下载链接】agent-safehouseSandbox your local AI agents so they can read/write only what they need项目地址: https://gitcode.com/gh_mirrors/ag/agent-safehouse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表