首页/文章/先禁止 Claude Code 改自己的 .claude 设置:公开配置统计里几乎没人这么做

先禁止 Claude Code 改自己的 .claude 设置:公开配置统计里几乎没人这么做

· Zumac.Ai

一个被忽略的权限漏洞:代理改自己的规则

无人值守、--dangerously-skip-permissions、长期挂机——这些已经够吓人。@itsmatthager 补充了更隐蔽的一点:

在 4,831 份「设置了 permissions」的公开 Claude Code 配置里,只有 31 份会拦住代理编辑自己的 .claude 设置。

也就是说:绝大多数配置里,代理理论上可以改 settings.json、放宽自己的 allow、甚至拆掉你以为设好的护栏。他建议:至少对 .claude 相关路径加 deny,并同时 deny 读取 .env。

同系列扫描还给出:

  • 约 85.6% 触碰了 permissions 块的公开配置,一条 deny 都没有(@razeenali01 转述为「85% 零 deny」量级);
  • 在 694 份「至少有一条 deny」的配置里,只有 5 份同时覆盖 .env、secrets、.claude、git push 与 rm。

deny-first:危险清单其实很短

@MiraZephyre 的建议是:先写短 deny,再观察一周实际用到的命令再放宽。起步五项可以是:

  1. 读取 .env 与 secrets 目录;
  2. 访问 ~/.ssh 一类密钥路径;
  3. rm -rf 类破坏性删除;
  4. git push --force;
  5. curl / wget 管道进 shell。

这和「CLAUDE.md 里写不许读 .env」不是一回事:CLAUDE.md 是请求,permissions deny 才是硬拦截。(今日另文已写过 CLAUDE.md ≠ permissions,此处不重复展开。)

可执行检查

  1. 打开项目的 .claude/settings.json(及用户级 settings),确认有 deny 段。
  2. 显式拒绝编辑/写入 .claude/** 与读取 .env、密钥目录。
  3. 不要长期依赖「全开 / skip-permissions」无人值守;若必须自动化,把不可逆操作留在 ask,并定期 /permissions 棚卸。
  4. 可用社区权限打分工具自查,但不要把配置文件发给陌生第三方——本地检查即可。

为什么「改自己的设置」比读 .env 更危险

读到密钥是一次泄露;改掉 deny 规则是持续失去防线。代理若能编辑 .claude/settings.json,后续会话可能在你不知情时进入更宽的 allow,甚至打开 bypass。公开配置统计说明:社区整体还停在「会写 permissions」阶段,远没到「会锁住权限文件本身」。

建议把「禁止改 .claude」写成与「禁止读 .env」同级的默认模板,新仓库直接复制,而不是等出事后再补。

如果你想把 Claude Code 放在一台常开、整机独享的新加坡 Mac mini 上长期运行,可以了解 Zumac.Ai,咨询 Telegram @singatao。

来源

Zumac.Ai 新加坡 Mac mini M6,整机独享,¥999/月起,联系 Telegram @singatao。
查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服