Agent Safehouse:AI编程助手的安全沙箱,3条命令防住提示注入
【免费下载链接】agent-safehouseSandbox your local AI agents so they can read/write only what they need项目地址: https://gitcode.com/gh_mirrors/ag/agent-safehouse
Agent Safehouse 是一款面向 macOS 的 AI 编程助手安全沙箱工具,它让 Claude、Codex 等 AI 代理只能读写真正需要的文件——即使遭遇提示注入(Prompt Injection),也无法触碰你的 SSH 密钥和云凭据。全程只需 3 条命令。
为什么 AI 编程助手需要一座"安全屋"
LLM 编程代理在你电脑上执行 shell 命令时,使用的是你本人的全部权限。这意味着:
- 💥 一次提示注入(恶意网页、可疑代码注释),就可能诱导它读取
~/.ssh下的私钥 - ☁️ 你的云凭据、API Key、无关代码仓库、个人文件都可能暴露
- 🕳️ 项目文档称之为"扩大爆炸半径"(blast radius),而 Agent Safehouse 的核心价值就是把它压到最小
它的做法很克制:默认全部拒绝(deny-first),只放行代理干活必需的路径——编译工具链、包管理器、项目目录,而不是把整个家目录拱手相让。
3 条命令快速上手 Agent Safehouse
Agent Safehouse 依赖 macOS 系统自带的sandbox-exec沙箱机制,无需容器、无需虚拟机,零额外开销。
第 1 条:Homebrew 一键安装
brew install eugene1g/safehouse/agent-safehouse如果你没有 Homebrew,也可以直接下载独立脚本放到~/.local/bin/safehouse,具体见 getting-started.md。
第 2 条:把 AI 代理装进沙箱
进入你的项目目录,用safehouse包一层即可:
cd ~/projects/my-app safehouse claude --dangerously-skip-permissions就这么简单——你照常使用 AI 编程助手,但它的每一次文件读写都发生在沙箱里。当前目录自动获得读写权限,其余路径默认关闭。
第 3 条:一键看清沙箱给了哪些权限
不确定它到底能碰什么?打印生效的策略看一眼:
safehouse --explain --stdout它会解释当前生效的工作目录、路径授权和策略选择,透明度拉满,这是 options.md 中最推荐的调试方式。
默认被拒绝的敏感资源有哪些
Agent Safehouse 内置了一套"敏感资源黑名单",以下路径默认全部拒绝,除非你明确开启:
| 资源类型 | 默认状态 | 开启方式 |
|---|---|---|
SSH 私钥(~/.ssh) | 🚫 拒绝 | 无(保持拒绝即可) |
Shell 启动文件(.zshrc等) | 🚫 拒绝 | --enable=shell-init |
| 浏览器 Cookies / 登录数据 | 🚫 拒绝 | 不提供 |
| 剪贴板 | 🚫 拒绝 | --enable=clipboard |
| Docker 套接字 | 🚫 拒绝 | --enable=docker |
| 主机进程枚举/控制 | 🚫 拒绝 | --enable=process-control |
| Xcode 完整开发者目录 | 🚫 拒绝 | --enable=xcode |
一个很真实的例子:沙箱内stat $HOME可能成功(允许探测元数据),但ls $HOME和cat ~/secret.txt依然会失败——权限精确到文件和目录级别。
内置 14 款主流 AI 编程助手的专属策略
不用自己写规则。profiles/60-agents/ 目录下内置了主流 AI 代理的专属策略档案,例如:
- claude-code.sb — Claude Code
- codex.sb — OpenAI Codex
- aider.sb — Aider
- gemini.sb、opencode.sb、goose.sb 等
策略采用可组合档案设计,分层存放在 profiles/ 目录:基础规则 → 系统运行时 → 网络 → 工具链 → 共享集成 → 各 AI 代理专属配置。想深入了解策略如何拼装,可读 policy-architecture.md。
按需开放权限:--enable 选项
需要用到 Docker 或 kubectl?显式开启即可,不开永远不碰:
safehouse --enable=docker -- docker ps常用的可选功能包括xcode、lldb(调试器)、keychain、ssh、gpu等完整清单见 usage.md。官方哲学很清晰:每条规则只回答一个问题——代理完成工作真的需要它吗?
Agent Safehouse 能防住什么,防不住什么
诚实地说,它是一个加固层,而非完美安全边界:
- ✅ 防住:提示注入诱导的越权文件访问、凭据读取、误操作无关仓库
- ❌ 防不住:允许读取的文件通过网络外泄、沙箱逃逸(它不是虚拟机)、已放行通道的滥用
项目文档 isolation-models.md 提供了 VM、容器与 Safehouse 的三模型对比——追求更强隔离时,可以在虚拟机里再套一层 Safehouse,兼顾边界强度与细粒度路径控制。
去哪里了解更多
- 📚 入门指南:getting-started.md
- 🛠️ 全部用法与命令模式:usage.md
- ⚙️ 完整参数选项表:options.md
- 📦 策略档案源码:profiles/00-base.sb
- 🧪 测试套件(含真实 AI 代理 E2E 测试):tests/
- 🐧 Linux 用户?README 末尾列出了 bubblewrap、firejail 等同类替代方案
一句话总结:让 AI 编程助手放开手脚干活,同时用 3 条命令给它套上安全屋的锁。🔐
【免费下载链接】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),仅供参考