我补的六条禁令,拦不住我自己开的那扇后门

Hello,我是飞飞。
下周一,Claude Code 会开始自己放行。
Anthropic 上周宣布,8 月 14 号起,auto 模式对 Pro、Max、Team 三档用户默认开启。
以前它每动一次手都弹窗问你一句。往后不问了,改成一个分类器在后台看着。它就判断三件事:这动作可不可逆、破不破坏东西、有没有伸到你机器外面去。三样都不沾,它直接就干。
我看到这条的第一反应是警觉。七月我写过两篇,一篇讲一个看着干净的 GitHub 仓库怎么黑掉你的 Claude Code,一篇讲 OpenAI 的模型为了考试作弊自己越狱。落点都一样:放权这事得慎重。
然后我打开了自己的配置文件。
先撇清一下。七月底我还写过一篇,讲我打开配置,发现自己推荐过的几个 hook 一个都没配、禁令清单是空的。那篇是「发现门上没锁」。这篇不重讲那个,它讲的是下一步:我照着那篇的结论去补了锁,补完这半个月,我才看清那把锁装在哪条路上。
下周它开始自己放行
先把官方这次给的东西摆清楚,下面这些数我一个都没测过。
Anthropic 请了外部的 Trajectory Labs 做评测,测的是 7 月 17 号那版公开代码。72 个间接提示注入场景,每个跑十遍,一共 720 次攻击。Claude 在 auto 模式下拦了个干净,成功率 0%。同一套题,GPT-5.6 Sol 在 Codex 的自动审批模式下漏掉 5.83%,全放开模式漏掉 19.03%。
Claude Code 的负责人 Boris Cherny 在 X 上说了句话,我读了两遍。他说叠够层数之后,没见过的间接提示注入能压到接近 0。哪三层?模型训练、输入探针,再加一个专门查意图的分类器。
这里得掰一下口径。中文那边转成了「Anthropic 称已基本解决提示注入」,原话没这么宽。他说的是间接注入、没见过的攻击、靠叠三层才压到的 0。提示注入这个问题本身,没被解决。
真正让我坐直的是另一组数。
官方做了个对照实验,找了 1053 个付费测试者,往会话里埋危险命令,看谁能抓出来。auto 模式挡下 89%。人挡下 13.6%。
更难看的在后头。会话超过五十轮之后,人的捕获率掉到大概 5%。分类器那条线是平的。
我看到这个数心里咯噔一下。五十轮对我是什么概念?我这条内容流水线从选题跑到发公众号,一趟下来轮数是它的好几倍。也就是说,官方那条曲线开始往下掉的地方,才刚到我一趟活的前三分之一。
后面那大半程,我压根不看它执行了什么,就等它交活。
我早就比那个默认更松
然后是我打开配置那一刻。
我的 ~/.claude/settings.json 里,defaultMode 写的是 bypassPermissions。底下还跟着一行 skipDangerousModePermissionPrompt,值是 true。
说人话就是,Claude Code 有一排档位。从「每次都问你」,到「只自动改文件」,到「分类器看着自动干」,最外面那档是「什么都不问,直接干」。
我挂在最外面那档。而且连「你确定要用最外面那档吗」这句二次确认,我也顺手关了。
所以 8 月 14 号那个默认切换,对我是零影响。
荒诞的地方在这儿:auto 模式比我现在跑的更安全。 它至少有个分类器坐在那儿判断,我这边一个都没有。新闻标题写的是 Anthropic 放松了默认值,可这消息落到我头上,意思是我该往回收一档。
说真的,我不是特例,这点官方自己给了数。
截至今年 6 月,62% 的用户用过 bypassPermissions,或者在 Bash 上点过「不再询问」。差不多一半的人手工建过 Bash 放行规则。其中 5% 直接放开任意命令,另外 43% 写的是 Bash(python:*) 这类解释器规则。官方原话说,这跟放开任意命令实际上等价。
这个比例每五周还在涨五个点。
一家公司在公告里顺手报出「我们六成用户已经把安全带解了」,这本身比那些跑分数字更说明问题。
六条禁令拦的那条路
我那份配置里还有一段,是禁令清单,六条:不许开 worktree,不许跑 rm -rf 和 rm -fr,不许 sudo rm,不许 git push --force 和 git push -f。
这六条是七月底那篇写完之后我去补的。补之前,这个清单一条都没有。
我一直把它当我最后那张网。禁令在 Claude Code 里优先级最高,压过所有放行规则,连 hook 都绕不过去。哪怕我把总档位拧到最外面,这六条还站着。这一层我核过官方文档,是真的。
问题出在另一头。
我这个项目的配置里,放行清单最后两条是 python3 * 和 npx tsx *。
看出来了吗。禁令拦的是命令长什么样。我禁掉了 rm -rf 这个写法,可 python3 -c 后面跟一行调 shutil 删目录的代码,跟 rm -rf 长得一点都不像。它不匹配那条禁令,那条禁令就不看它。
我给前门换了把好锁,六道锁芯,锁是真锁。可我每天进出走的是后门,后门是我自己开着的。因为我流水线上所有的活都靠 python 脚本跑:查 frontmatter 的、拆公众号段落的、数中文字数的、往微信推草稿的。今天上午我还跑过一个。
那扇后门不是我疏忽留的,我天天都得从那儿走。
得给个诚实边界。上面这条是我照着规则的字面匹配推出来的,我没真去构造一个绕过去的命令验证,也不打算构造。
这里我不打算报什么漏洞。真正扎我的在另一处:我以为自己拦住了的那件事,可能从头到尾就没发生在我拦的那条路上。
分类器比我自己靠谱
写到这我得认一件不太想认的事。
89% 对 13.6% 这组数,我一开始是抵触的。盯着看了半天,我服了。
因为我那两篇写风险的文章,落点全在「人得守住那个决策点」。可官方这组数说的正是:人守不住,而且会话越长守得越差。我自己就是活证据。七月底那篇里我写过一句,Claude Code 弹窗问我的时候,十次里有八次我扫一眼就回车了。
那八次,就是 13.6% 的另一种写法。
所以这回我不打算站回「厂商放权我就警惕」那个老位置。一个 89% 命中的分类器,比一个跑到五十轮就掉到 5% 的我,是更靠得住的守门人。这话说出来不太舒服,可数摆在那儿。
官方也没把话说满。博客里写着,auto 模式依赖分类系统,因此不消除风险。红队测下来还有 7% 漏网。高风险的生产改动,他们仍然建议人工过一遍。
这个态度我认。一个肯在自家公告里写「我们还漏 7%」的口径,比拍胸脯说全解决了可信。
我下周要往回收一档
所以我下周要做的事,跟我动笔前想的正好反过来。
我本来以为我会写一篇「厂商要放权了,我不跟」。核完之后我发现,该往回收的是我。
三件事,按顺序来。
把总档位从最外面那档拧回 auto。我是在自己主力机上跑,不是在隔离容器里,而官方对最外面那档的建议原话是只在容器或虚拟机里用。这句我这半年一直当没看见。
去看禁令清单和放行清单有没有在打架。我禁 rm -rf 却放行 python3 *,这两条摆一块儿是自相矛盾的。要么承认那六条主要防的是手滑而非恶意,要么把真正兜底的活交给沙箱。沙箱在操作系统那一层拦,管得住子进程,禁令规则管不住。
最后一件,等 14 号切过去,看那个分类器到底会在什么地方拦我。这个我现在只能读文档,读不出体感。等它真拦我一次,我回来摆账单。
给你一个五分钟就能做完的动作。打开你的 settings.json,找两样东西:defaultMode 现在是什么,permissions 底下的 deny 和 allow 各写了些什么。然后问自己一句:我禁掉的那些写法,和我放行的那些命令,管的是不是同一件事。
如果你也在放行清单里写了 python:* 或者 node:*,那你跟我一样,属于官方点名的那 43%。
你会让 auto 模式默认开着吗,还是跟我一样,先回去数一数自己那份配置到底有几道门?