AI开源软件工具

Claude Code 三天连更三个版本:两类权限规则曾被绕过、MCP 密钥会明文打印,都修了

2026年9月14日0 次阅读

2.1.268 是重点——你以为 deny 规则上了锁,其实门是虚掩的

📅 2026年9月13日 | 📊 来源:Anthropic 官方 GitHub Releases

如果你平时用 Claude Code 写代码,并且靠 settings.json 里的 deny 规则来挡住某些目录或命令——比如不让 AI 碰 .env、凭据文件或系统目录——那这三个版本你必须知道:Anthropic 在 9 月 10 日到 12 日三天里连发了 2.1.268、2.1.269、2.1.270 三个版本,其中 2.1.268 一次修复了两类"你明明写了禁止规则、它却没生效"的绕过漏洞,外加两处会把 MCP 配置里的密钥原样打印到屏幕上的泄露 bug。第三方技术媒体也把 2.1.268 称为"本周最关键的发布"。这句话翻译成人话就是:你以为上了锁,其实门是虚掩的——现在锁真正装上了。

🎯 核心亮点速览
  • 两类 deny 规则绕过已修复:符号链接路径写法绕过 + 复杂命令同行绕过,规则从此真正生效
  • 两处 MCP 密钥泄露已封堵:/mcp 详情输出和插件市场报错不再打印真实密钥
  • 2.1.269 功能四连:插件评测工具 plugin eval、/output-style 切换、Bash 编辑 diff、Workflow 并发子代理上限提到 256
  • 建议直接升到 2.1.270:包含全部修复,且修掉了 2.1.269 引入的一个权限弹窗回归

🔒 重点一:两类 deny 规则被绕过

什么是 deny 规则,为什么会出问题

deny 规则是 Claude Code 的权限护栏:你可以在配置里规定"这个路径不许读、那种命令不许执行"。2.1.268 修掉的两个漏洞,都属于"规则在特定情况下悄悄失效"——也就是你写了禁止,它却照做不误。

1. 符号链接(symlink)路径绕过。如果你的 deny 规则写的是 /etc、/tmp 这类路径,而这些目录在 macOS 或 Linux 上其实是指向真实位置的符号链接,那么当 AI 用"真实路径"去访问时,规则不会生效——比如 macOS 上的 /tmp 实际是 /private/tmp,规则拦得住 /tmp 这个写法,却拦不住那个真实写法。修复后,两种路径写法都会被同一条规则管住。受影响的常见目录包括 macOS 上的 /etc、/tmp、/var 和 Linux 上的 /bin。

2. 复杂命令同行绕过。当一条 Read 或 Edit 的禁止规则旁边,同一行命令里出现了 env -C 或者 eval 这种权限检查器"看不懂"的写法时,规则可能整个不生效。修复后,这类情况不会再把整条规则架空。

📋 同批次还有一个相关的权限行为调整

! 开头的"反向规则"(否定某条规则)以前会越过自己所在的配置文件去影响别处的设置;现在它只在写它的那个配置来源里生效,单独写一个裸 ! 会被直接忽略。这对多套 settings 叠加使用的团队是个重要行为变化:每套配置管好自己,不再互相串门。

🔑 重点二:MCP 密钥明文泄露

Claude Code 支持通过 ${VAR} 占位符引用环境变量,把 API Key 之类的凭据交给 MCP 服务器。问题在于:2.1.268 之前,有两类场景会把这些解析出来的真实密钥直接显示出来——

  • 运行 /mcp/plugin 查看服务器详情,或执行 claude mcp list / claude mcp get 时,输出里带着真实密钥;MCP 登录报错时也一样。
  • 插件和市场出错时,报错信息会显示 git 源 URL 里夹带的 token 或密码。
💡
给你的建议:如果你把凭据交给过 MCP 服务器,这些密钥可能已经出现在你的终端记录或日志里。稳妥的做法是检查一下 shell 历史和会话日志,必要时轮换密钥。

✨ 2.1.269:一天后的功能更新

🧪 claude plugin eval

给插件跑一套可复现的评测,输出打分结果(JSON + HTML 报告)。插件作者可以拿它做质量验证,用户可以看评分再决定装不装。

🎨 /output-style [name]

列出并切换输出风格,远程控制(Remote Control)和云端无头会话里也能用,交互方式更顺手。

📝 Bash 编辑 diff

当 Bash 工具直接改文件时,返回结果会带上改动 diff(由 bashEditDiffEnabled 设置控制),AI 到底改了什么一目了然。

⚙️ Workflow 并发上限 256

新增环境变量 CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS(1–256),把 Workflow 工具单次运行的并发子代理数上限大幅提高,适合推理型的大规模并行任务。

🩹 2.1.270:收拾 2.1.269 的尾巴

一天后发布的 2.1.270 只修了一件事:2.1.269 引入的回归——会话跑了一段时间后,只读 git 命令会莫名其妙重新请求权限。升级到 2.1.270 即可解决。

📊 版本时间线

版本发布时间 (UTC)主要内容
2.1.2689月10日修复两类 deny 绕过 + 两处 MCP 密钥泄露 + 多项稳定性修复
2.1.2699月11日plugin eval、/output-style、Bash 编辑 diff、Workflow 并发上限 256
2.1.2709月12日修复 2.1.269 的只读 git 命令重复要权限回归

🛠️ 怎么升级,升级后做什么

在终端里执行 claude update(npm 安装的用户也可以用 npm 更新到最新版)。直接跳到 2.1.270 即可,它包含前两个版本的全部内容。升级后建议做两件事:

  1. 检查 deny 规则:确认你的规则现在对"真实路径"和"符号链接写法"都能生效,别再留虚掩的门。
  2. 翻一下终端历史:看看 2.1.268 之前有没有打印出过 MCP 密钥,有的话及时轮换。
✅ 适用与不适用

适合谁:所有 Claude Code 用户,尤其是用 deny 规则保护敏感文件、或给 MCP 服务器传过环境变量凭据的人;跑云端/无头会话的团队也建议同步升级。

不适合谁:不用 Claude Code 的读者,可以只把它当作一个行业信号——AI 编程工具的权限模型正在补安全课,你用的其他 Agent 工具也值得问一句"我的禁止规则真的生效吗"。

本文由加装AI助手整理发布 | 数据来源:Anthropic 官方 GitHub Releases、dev.to

评论

0 条已公开
登录注册后可以参与评论。

正在加载评论...