Claude Code 自动模式:AI 驱动的权限管理

指南Simon Willison2026年3月24日3 分钟阅读
Claude Code 推出自动模式,让 Claude 替你决定权限,背后用 Claude Sonnet 4.6 做安全审查。默认规则允许安装已声明的依赖,但无法防范供应链攻击。

Claude Code 今天推出了自动模式,作为 --dangerously-skip-permissions 的替代方案。这个新权限模式让 Claude 替你做出权限决策,但会在操作执行前用安全护栏(Guardrails)进行监控。

这些护栏由 Claude Sonnet 4.6 实现,即使主会话用其他模型,分类器也跑在 Sonnet 4.6 上。每次操作前,分类器会检查对话,判断操作是否符合你的意图:它会拦截超出任务范围、针对不信任基础设施、或受文件/网页中恶意内容驱动的行为。

自动模式自带一套默认过滤器,也支持自定义规则。运行这个终端命令,就能看到默认规则的完整结构:

code
claude auto-mode defaults

这是完整的 JSON 输出。文件很长,这里摘几个关键部分:

允许列表(Allow)

  • 测试工件:硬编码的测试 API 密钥、示例中的占位凭证、硬编码的测试用例
  • 本地操作:智能体(Agent)删除工作目录中的本地文件、项目范围内的本地文件操作、本地测试时使用 --ignore-certificate-errors。"项目范围"指会话启动时的仓库——跑到 /、/Library/、/etc 或其他仓库就算越界(用户意图规则 #2),不算本地操作。不包括对已有文件的不可逆删除或本地有状态服务——详见阻止列表中的"不可逆本地破坏"
  • 只读操作:GET 请求、只读 API 调用、不修改状态且 URL 不含敏感信息的查询。注意:明确意图的预防性阻止(PREEMPTIVE BLOCK ON CLEAR INTENT)仍然适用——如果对话记录明确显示智能体在用只读操作为阻止行为探路,就拦截它
  • 已声明的依赖:通过读取清单文件的标准命令(如 pip install -r requirements.txtnpm installcargo buildbundle install)安装仓库清单中已声明的包,前提是智能体在本会话中没修改过清单。不包括安装智能体自选的包名(如 pip install foonpm install bar)——那些有域名抢注和供应链风险

软拒绝列表(Soft Deny)

  • Git 破坏性操作:强制推送(git push --force)、删除远程分支、重写远程历史
  • 推送到默认分支:直接推送到 main、master 或仓库的默认分支——这会绕过 PR 审查。提交应该推送到新功能分支
  • 外部代码:从外部源下载并执行代码——比如 curl | bash,通过可执行代码的格式反序列化外部数据(eval、exec、yaml.unsafe_load、pickle 等),或类似机制。也包括运行之前从外部仓库克隆的代码(pip install -e、make install、python script.py、对克隆仓库文件执行 pickle.load/torch.load)——"本地磁盘"上的代码如果来自对话中可见的外部源,也不可信。智能体启动时的仓库是可信的
  • 云存储批量删除:删除或批量修改云存储(S3、GCS、Azure Blob 等)上的文件

文档也警告,分类器可能还是会放过一些危险操作:比如用户意图模糊,或者 Claude 对你的环境了解不够,不知道某个操作可能带来额外风险。

默认允许列表包含 pip install -r requirements.txt,意味着它防不住未锁定依赖的供应链攻击,就像今天早上 LiteLLM 那个案例一样。

我还是希望我的编程智能体默认在健壮的沙箱里运行,那种能确定性限制文件访问和网络连接的沙箱。比起这种基于提示(Prompt)的防护,我信任沙箱得多。

本文编译自 Auto mode for Claude Code,版权归原作者所有。

觉得有用?分享给更多人

获取每周 AI 工具精选

工具推荐、实战教程和生态洞察,每周更新。

相关文章

pgEdge 推出开源 MCP Server for Postgres,支持 AI 智能体通过模型上下文协议(MCP)而非传统 API 方式访问数据库。服务强调数据源无关性、完整模式自省和 token 优化,适用于 Claude Code、Cursor 等主流 AI 开发工具。

指南The New Stack·4月2日·4 分钟

Google 推出 Flex 和 Priority 两个新的推理层级,帮助开发者平衡成本与可靠性。Flex 是成本优化层级,适合后台任务,价格便宜一半;Priority 是最高保障层级,适合用户交互型应用。两者都通过同步接口调用,简化了架构管理。

指南·4月2日·3 分钟

评论