这次改了什么
@PonderoAI 发帖提醒,10 月 13 日起,GitHub 对「提交里带了 Claude API Key」这件事的处理方式变了,很多开发者并不知道。@corpexcellence 也说,GitHub 的 secret scanning(密钥扫描)现在能识别更多 Anthropic API Key 类型,并对这些类型默认开启推送保护。
对照 GitHub 官方更新日志:
- 新增两种 Anthropic 密钥类型的检测:
anthropic_service_api_key和anthropic_user_api_key; - 这两种类型被加入推送保护的默认规则;
- 只要仓库开启了 secret scanning(包括免费的公开仓库),含这些 Key 的提交在推送时就会被直接拒绝。
换句话说,Key 在离开你电脑、到达远端仓库之前就被拦下,这是泄露成本最低的时刻。
被拦下后怎么办
推送被拒时,不要想办法绕过去,而是:
- 把 Key 从代码里删掉,改成从环境变量或密钥管理工具读取;
- 如果 Key 已经进了本地提交历史,改写这几条提交再推;
- 只要你不确定 Key 有没有被别人看到,就去 Claude Console 删掉它、新建一个。
它挡不住的事
@corpexcellence 说得很到位:检测只是密钥管理中的一环,代替不了轮换、权限控制和监控。具体来说:
- 历史里已有的 Key 不会被清掉,这项变化只管新的推送,已经在仓库里的 Key 仍要去 Console 吊销;
- 其他泄露渠道照样存在:日志、笔记本文件、截图、聊天记录、你填进去的第三方工具;
- 没开 secret scanning 的仓库不受这条默认规则保护,私有仓库要确认自己的设置。
用 Claude Code 时的小习惯
让 Claude Code 帮你写配置或排错时,别把 Key 直接粘进对话或写进会被提交的文件。把 .env 加进 .gitignore,在 CLAUDE.md 里写一句「不要把密钥写入代码或提交」,再配合 GitHub 的推送保护,基本能挡住最常见的那一类失误。
如果你想在一台常开、整机独享的机器上长期跑 Claude Code,Zumac.Ai 提供新加坡远程 Mac mini M6 租用:家庭宽带 ¥799/月,商用IP ¥999/月,咨询 Telegram @singatao。
