文章摘要
Agent Safehouse是一款为本地AI代理提供macOS原生沙盒保护的工具,通过内核级强制限制,确保代理只能访问项目目录内文件,防止误操作(如误删系统文件)。它能将AI代理的潜在破坏风险降至零,已适配主流AI代理并测试有效。
文章总结
代理安全屋(Agent Safehouse)——为本地AI代理打造的macOS原生沙箱解决方案
核心功能:
1. 安全防护机制
- 采用内核级强制隔离,实现"零风险"运行环境
- 默认拒绝所有外部写入权限(如尝试执行rm -rf ~将被内核直接拦截)
- 遵循"默认拒绝"原则,仅开放明确授权的目录访问
- 技术特点
- 专为macOS设计的原生沙箱技术
- 自动限制代理仅能在项目目录(默认git根目录)进行读写
- 允许读取已安装的工具链,但禁止访问敏感区域(如.ssh/.aws目录)
- 使用优势
- 单脚本部署:仅需下载一个自包含的shell脚本
- 零依赖:仅需Bash和macOS环境
- 支持主流AI代理(展示13个已测试的代理图标,包括Claude/Codex/Gemini等)
安装使用示例: ```bash
下载安装
mkdir -p ~/.local/bin curl -fsSL https://raw.githubusercontent.com/eugene1g/agent-safehouse/main/dist/safehouse.sh -o ~/.local/bin/safehouse chmod +x ~/.local/bin/safehouse
运行代理
cd ~/projects/my-app safehouse claude --dangerously-skip-permissions ```
验证示例:
bash
safehouse cat ~/.ssh/id_ed25519 # 访问被内核拒绝
safehouse ls ~/other-project # 目录不可见
safehouse ls . # 当前项目可正常访问
便捷配置:
支持在shell配置文件中创建别名函数,实现自动沙箱化运行:
bash
claude() { safehouse claude --dangerously-skip-permissions "$@"; }
开源协议:Apache 2.0 License
(注:已去除导航菜单、Github图标等非核心内容,保留技术细节和关键使用示例)
评论总结
以下是评论内容的总结,平衡呈现不同观点并保留关键引用:
对现有macOS沙箱工具的改进需求
- 有评论指出macOS缺乏原生Docker支持,现有方案依赖Linux虚拟机
- 关键引用:"Having real macOS Docker would solve the problem this project solves"(garganzol)
- 关键引用:"I do wish that there was a simple way to sandbox programs with an overlay or copy-on-write semantics"(xyzzy_plugh)
对本项目的积极评价
- 赞赏其作为sandbox-exec的轻量级封装,提供预设策略
- 关键引用:"It's nice that there are a ton of presets that have been thought out"(xyzzy_plugh)
- 关键引用:"no dependencies, no fancy tech, no virtualization"(作者e1g)
关于AI代理安全性的讨论
- 有用户分享过去因AI代理导致的数据丢失经历
- 关键引用:"Claude Code did a hard git revert...wiped out ~1000 lines"(tl2do)
- 有评论指出当前AI代理已变得更可靠
- 关键引用:"agents have become more reliable...haven't had a major incident"(tl2do)
项目局限性讨论
- 指出沙箱仅解决安全问题,未解决人机交互问题
- 关键引用:"The sandbox keeps the agent contained, but doesn't give it a clean 'pause and ask' primitive"(naomi_kynes)
- 提到其他解决方案如nono.sh的凭证代理功能
- 关键引用:"adds a proxy to keep credentials out of the agent's scope"(synparb)
开发者回应
- 作者强调项目目标是支持本地全自动运行AI代理
- 关键引用:"I like my agents to be local...running on my finely-tuned machine"(e1g)
- 提到策略生成器可独立使用
- 关键引用:"use just the Policy Builder to generate a single sandbox-exec policy"(e1g)