你让 Claude Code 帮你写代码,但你知道它能看多少你的文件?
随机比特 | 2026-03-09
上周我在用 Claude Code 调一个 Python 脚本。它帮我改好了,顺手还说"我看到你 ~/.ssh/ 下有几个 key,你要用哪个连服务器?"
我当时愣了一下。
我没让它看 SSH 目录。它就是能看到。
AI 助手的权限,比你想的宽
用 Claude Code、Codex 或者 Cursor 的 Agent 模式时,这些工具默认可以访问你整个文件系统。不是"当前项目",是整个 home 目录。
你的 ~/.ssh/ 里有 SSH 密钥。
你的 ~/.aws/credentials 里有 AWS 访问密钥。
你桌面上那个没删的 passwords.txt。
隔壁项目的 .env 文件里有数据库连接字符串。
AI 都能看到。
有人会说:但我信任 Claude Code,它不会乱做事。
这不是信任问题。问题是万一出错了呢?AI 误读上下文,把一个文件路径搞混了,把你的密钥写进了 git commit。或者更糟,它帮你执行了一段"优化"脚本,不小心遍历了 ~/Documents。
Anthropic 自己也知道这个问题。你看 Claude Code 的官方文档里有个参数叫 --dangerously-skip-permissions。
这个名字本身就是最好的吐槽。
你跑这个参数,意思是"我知道这很危险,但我跳过权限检查"。
<figure><img src=“images/01-permissions-gap.png” alt=“01-permissions-gap”></figure>
这不是假想的风险
去年已经有真实事故了。
Cline 的 GitHub Issues 出现过一个恶意 Issue 标题,通过 prompt injection 触发了 AI bot,静默在 4000 台开发者机器上安装了后门脚本。(来源)
那次事件的核心漏洞就在这里:AI Agent 有权限执行任意命令、访问任意文件,却没有边界约束。
更常见的风险其实是意外,不是攻击:
- Claude Code 帮你"优化"项目配置,结果读了
~/.gitconfig改了全局 Git 用户名 - Codex 帮你生成数据库迁移脚本,顺手读了你另一个项目的
.env拿到生产数据库地址 - 你让 AI 整理文档,它翻遍了
~/Documents找"相关文件"
这些不是恶意行为,就是 AI 做了它被允许做的事。
Agent Safehouse:deny-first,不是 trust-first
上周在 HN 上冒出来一个工具——Agent Safehouse,macOS 原生的 AI Agent 沙箱。
它的核心逻辑只有一句话:默认拒绝所有文件访问,只开放你指定的项目目录。
不是 Docker。不是虚拟机。是 macOS Sandbox Framework——Apple 内核级的权限控制,跟系统级应用用的同一套机制。
它的规则很清楚:
- Claude Code 只能看到你当前的项目目录
~/.ssh:拒绝~/.aws:拒绝- 其他 repo:拒绝
- 网络访问:可配置(默认只允许 localhost 和必要的 API)
你不需要改任何开发习惯。沙箱在系统层生效,不是靠 AI 自觉遵守——是字面意义上的"访问不到"。
<figure><img src=“images/02-safehouse-arch.png” alt=“02-safehouse-arch”></figure>
和 Docker/VM 有什么区别?
用容器或虚拟机隔离 AI Agent 不是没人想过,但实际用起来很麻烦:
- Docker:要维护镜像,代码挂载配置复杂,每次启动慢,调试体验差
- VM:更重,更慢,没法和本地 IDE 无缝协作
- chroot:只隔离文件,网络没限制,还需要 root 权限
Agent Safehouse 走的路不一样。它利用 macOS 系统原生的沙箱机制,零依赖,单脚本安装,对开发流程几乎零侵入。
你还是用你熟悉的 Claude Code 或 Codex,只是在外面加了一层内核级的访问控制。
安装和使用
官方文档里是一行脚本:
curl -fsSL https://agent-safehouse.dev/install.sh | sh
装完后,用 safehouse run 包裹你的 Agent 命令就行:
safehouse run claude-code --project ~/code/my-project
Claude Code 启动,但它的文件访问被限制在 ~/code/my-project 里。SSH 密钥、.env、其他项目——一概访问不到。
配置文件在 ~/.config/agent-safehouse/config.yaml,可以手动加白名单:
allowed_paths:
- ~/code/my-project
- ~/code/shared-utils # 手动加白
network_policy:
allow_localhost: true
allow_domains:
- api.anthropic.com
- api.openai.com
值不值得装?
我的看法是:看你的使用场景。
比较值得装的情况:
- 你在同一台机器上放了多个客户的项目代码
- 你的 home 目录有 SSH 密钥、AWS 密钥等敏感凭证
- 你用 Agent 模式跑复杂任务(不只是单步补全)
- 你是自由职业者,机器上有多个客户的代码
不太需要的情况:
- 你在专用 CI 机器或容器里跑 AI Agent(已经隔离了)
- 你只用 Tab 补全,不让 AI 自主执行命令
- 你在一台干净的机器上,没有敏感凭证
有一点要说清楚:Agent Safehouse 是开源的,macOS 专用,目前还是比较早期的项目(HN 上热度在涨,但社区不大)。如果你对安全要求高,装之前建议自己读一下源码,确认没有意外的权限提升。
一个更大的背景
我们现在都在给 AI 越来越多的权限。Cursor Cloud Agent、Claude Code、Codex CLI——它们越来越能自主执行任务、修改文件、提 PR。
这很爽。但"最小权限原则"是安全工程的基本常识:给工具它需要的权限,不要多给一分。
这个原则不新,1970 年代就有了。但我们在 AI 工具上集体忘了它。
Agent Safehouse 做的事情不复杂,就是把这个原则落地了。
你信任 Claude Code,我也信任。但信任不等于放弃边界。
让 AI 帮你干活,和给它无限访问权限,是两件不同的事。
来源:
- Agent Safehouse 官网
- HN 讨论(2026-03-09,热度上升中)
- Claude Code 官方文档(
--dangerously-skip-permissions参数) - Cline 供应链攻击事件(2026-03-07 随机比特已发布分析)