Claude Code后天起默认Auto模式了——我第一时间改了这6个设置

刷到Anthropic的公告时是周五晚上。大意是:8月14日起,Claude Code的Pro、Max和Team用户将默认启用Auto模式。

翻译成人话就是------后天开始,Claude Code不再逐条问你"可以执行这个命令吗?",而是自己判断安全性后直接执行。修改文件、运行脚本、执行git操作,全部自动。

我当时第一反应是打开终端检查了自己的settings.json。不是因为我觉得Auto模式一定会炸,而是因为这件事的默认值变了,意味着你什么都不做的话,行为就变了

Anthropic为什么敢这么做

他们给了三个数据:

数据一:97%的权限提示被无脑批准。

Anthropic统计了所有Claude Code用户的权限操作------每次Claude要执行命令时弹出的"Allow?"确认框,97%的情况下用户直接点了同意

这意味着那个确认框形同虚设。你以为自己在"审核",实际上你在条件反射地按回车。

数据二:62%的用户已经在用bypassPermissions或类似设置。

超过一半的付费用户早就主动关掉了权限确认。Claude Code的六种权限模式里,最严格的Manual模式反而是少数人在用。

数据三:1053人对照实验,Auto模式比人工审核安全6.5倍。

Anthropic做了一个对照研究------同样的危险命令序列,Auto模式的内置分类器拦截了89% ,而人工逐条审核只拦截了13.6%

原因很简单:机器不会疲劳,不会在第47次"Allow?"的时候走神点了同意。人会。

但是------11%的漏网率

89%拦截率的另一面是:有11%的危险命令,Auto模式也没拦住。

这11%是什么?根据公开的测试报告,主要是:

  • 看起来像正常操作但实际有副作用的命令(比如rm -rf被包在一个看似无害的脚本里)
  • 涉及环境变量或敏感路径的间接操作
  • 组合命令中的链式危险操作(单独看每步都安全,串起来就危险)

11%听起来不多,但如果你一天跑100次命令,平均每天有11次危险操作会被放行。

Auto模式到底会"自动"做什么

打开Auto模式后,Claude Code会在以下操作上不再询问你

操作类型 Manual模式 Auto模式
读取文件 自动 自动
写入/修改文件 ⚠️ 需确认 ✅ 自动执行
执行Bash命令 ⚠️ 需确认 ✅ 自动执行(除非触发危险分类器)
git add/commit ⚠️ 需确认 ✅ 自动执行
git push ⚠️ 需确认 🔴 分类器拦截(大多数情况)
rm/delete操作 ⚠️ 需确认 🟡 取决于路径和上下文
安装npm包 ⚠️ 需确认 ✅ 自动执行
修改package.json ⚠️ 需确认 ✅ 自动执行

关键变化:文件写入和Bash命令执行不再需要你确认。 这意味着Claude可以直接改你的代码、直接跑脚本、直接装包------只要它的内置分类器认为"安全"。

我改了哪6个设置

看完公告后我做的第一件事不是关掉Auto模式(那样就退回到97%无脑点同意的状态了),而是在Auto模式的基础上加约束

设置1:配置allowedTools白名单

json 复制代码
// .claude/settings.json
{
  "permissions": {
    "allow": [
      "Read",
      "Glob",
      "Grep",
      "Write(src/**)",
      "Edit(src/**)"
    ],
    "deny": [
      "Write(.env*)",
      "Write(*.config.js)",
      "Bash(rm *)",
      "Bash(git push*)"
    ]
  }
}

核心思路:只允许Claude自动写入src/目录下的文件。 配置文件、环境变量、根目录文件全部需要确认。这样Claude可以自由改业务代码,但碰不了构建配置和敏感文件。

设置2:锁死.env和敏感文件

json 复制代码
{
  "permissions": {
    "deny": [
      "Read(.env*)",
      "Write(.env*)",
      "Read(**/*secret*)",
      "Read(**/*credential*)",
      "Bash(*SECRET*)",
      "Bash(*TOKEN*)",
      "Bash(*PASSWORD*)"
    ]
  }
}

Auto模式下Claude能读取项目里的任何文件------包括.env。如果你的.env里有数据库密码、API密钥,Claude读到之后可能在生成代码时把它们硬编码进去,或者在执行命令时意外暴露。

deny规则优先级高于allow,配了deny之后即使Auto模式也会被拦住。

设置3:git操作限制

json 复制代码
{
  "permissions": {
    "deny": [
      "Bash(git push*)",
      "Bash(git reset --hard*)",
      "Bash(git checkout -- *)",
      "Bash(git clean*)",
      "Bash(git branch -D*)"
    ]
  }
}

Auto模式下Claude可以自动git addgit commit------这其实挺方便的。但push、reset --hard、强制删除分支这些不可逆操作,必须手动确认。

一个真实案例:上周看到有人发帖说Claude Code在Auto模式下自动push了一个有debug日志的commit到main分支。原因是Claude判断"commit+push是一个完整的工作流",分类器没有拦截push操作。

设置4:npm install限制

json 复制代码
{
  "permissions": {
    "deny": [
      "Bash(npm install *--global*)",
      "Bash(npx *)",
      "Bash(yarn global*)"
    ],
    "allow": [
      "Bash(npm install)",
      "Bash(npm run *)",
      "Bash(yarn install)",
      "Bash(yarn add *)"
    ]
  }
}

允许Claude在项目内装包(npm installyarn add),但禁止全局安装和npx执行。npx可以下载并执行任意包------这是一个巨大的攻击面。

设置5:CLAUDE.md加入硬规则

markdown 复制代码
# CLAUDE.md

## 安全规则(Auto模式下必须遵守)

- 永远不要修改 .env、.env.local 或任何包含环境变量的文件
- 永远不要执行 git push,所有push操作必须由我手动执行
- 永远不要删除文件,如需删除请先列出文件列表等我确认
- 永远不要修改 CI/CD 配置文件(.github/workflows/*, .gitlab-ci.yml)
- 新增依赖时必须说明理由,不要静默安装

CLAUDE.md是Claude Code的行为规则文件。Auto模式下Claude会遵守这些规则------当然,这不是"硬性"限制(settings.json的deny规则才是),但它提供了一层语义级别的防护。

设置6:开启操作日志

json 复制代码
{
  "auditLog": {
    "enabled": true,
    "path": ".claude/audit.log",
    "includeCommands": true,
    "includeFileWrites": true
  }
}

Auto模式下最危险的事情不是Claude执行了什么,而是你不知道它执行了什么。开启审计日志后,每一次文件修改和命令执行都会被记录。每天花2分钟扫一眼日志,比事后排查问题快100倍。

不同场景的推荐配置

场景 推荐模式 关键设置
个人side project Auto + 宽松allow 允许大多数操作,仅deny push和rm
公司项目(有CI) Auto + 严格deny 锁死config/env/CI文件,仅allow src/
多人协作仓库 Plan模式 让Claude先出方案再执行,避免冲突
生产环境相关 Manual 别用Auto,逐条确认
开源项目维护 Auto + deny push 防止意外push到公开仓库

为什么不直接关掉Auto模式

可能有人会说:既然有风险,为什么不直接改回Manual?

因为Anthropic的数据是对的------97%的确认提示你都是无脑点的。Manual模式给你的不是安全感,是"安全感的幻觉"。你觉得自己在审核,实际上第10次之后你就不看了。

Auto模式+精确的deny规则,实际上比Manual模式更安全

  • Manual:所有操作都问你 → 你疲劳后全部无脑批准 → 危险操作也被批准
  • Auto+deny:安全操作自动执行 → 你配置的deny规则硬性拦截 → 真正危险的操作必须手动确认

区别在于:Manual模式的安全取决于你的注意力(会疲劳),Auto+deny的安全取决于你的配置(不会疲劳)。

8/14之前的检查清单

后天Auto模式就默认开启了。如果你还没配置过,至少做这几件事:

bash 复制代码
# 1. 检查当前的权限模式
cat .claude/settings.json

# 2. 如果文件不存在,创建一个
mkdir -p .claude
touch .claude/settings.json

# 3. 至少加上这个最小化安全配置
cat > .claude/settings.json << 'EOF'
{
  "permissions": {
    "deny": [
      "Write(.env*)",
      "Bash(git push*)",
      "Bash(git reset --hard*)",
      "Bash(rm -rf*)"
    ]
  }
}
EOF

# 4. 确认CLAUDE.md存在且有安全规则
cat CLAUDE.md

Auto模式安全设置速查表

保护目标 deny规则 优先级
环境变量/密钥 Write(.env*), Read(.env*) 🔴 必须
不可逆git操作 Bash(git push*), Bash(git reset --hard*) 🔴 必须
文件删除 Bash(rm -rf*), Bash(rm -r *) 🔴 必须
CI/CD配置 Write(.github/**), Write(.gitlab-ci.yml) 🟡 强烈建议
包管理配置 Write(package.json) 🟡 视情况
全局安装 Bash(npm install *--global*), Bash(npx *) 🟡 强烈建议
构建配置 Write(webpack.config*), Write(vite.config*) 🟢 可选

核心原则:让AI自动做安全的事,硬性拦截危险的事

Auto模式不是洪水猛兽。Anthropic的数据证明了一个尴尬的事实:大多数人的"人工审核"其实比AI分类器更不靠谱。

但11%的漏网率也是真实的。后天开始,如果你什么都不配置,Claude Code就会用它自己的判断来决定哪些操作安全------而它的判断有11%的概率是错的。

所以正确的策略不是二选一(全手动 vs 全自动),而是:让Auto处理97%的安全操作,用deny规则硬性拦截那3%你绝对不允许自动执行的东西。

你的Claude Code配置好了吗?8月14日后天就到了。

相关推荐
花椒技术1 小时前
一个人已经有 Agent 了,我们为什么还要建设统 Agent 平台
人工智能·agent·ai编程
风骏时光牛马1 小时前
智能赋能型AI办公一体化系统架构
前端
满栀5852 小时前
vue动态路由效果
前端·javascript·vue.js·前端框架·vue
仙逆GPT2 小时前
ChatGPT、Codex实战:Sol、Terra、Luna怎么选?Reasoning不是越高越好
ai编程·codex·chatgptplus·gpt5.6·codex教程
土豆~2 小时前
文件名没后缀就打不开:前端文件预览的内容嗅探改造
前端·状态模式
百工蜂Agent2 小时前
万物皆工具
agent·ai编程
起个名字好难啊这也被占用了2 小时前
LangGraphjs可中断可恢复的AI工作流
人工智能·ai编程
NWU_白杨2 小时前
AI协作开发
ai编程