Journal / 2026 / AI技术

Claude Code 把密钥送进了公开仓库:一份自查清单

2026 年 11 月 9 日,Ars Technica 报道 Claude Code 相关配置文件把密码与 API key 带进了公开 GitHub 仓库。我们没有读正文、没有复现泄露;这篇按报道标题与摘要整理,重点讲清它与邮箱外泄是两件事,并给出一份从工作区到 git 历史的密钥自查与轮换清单。

Claude Code 把密钥送进了公开仓库:一份自查清单
封面 取自本文正文首图,点击可放大
目录 · 1598 字 / 4 分钟

2026 年 11 月 9 日,Ars Technica 报道了一个和 Claude Code 有关的问题:一些项目的配置文件被提交进了公开的 GitHub 仓库,里面带着密码、API key 之类的凭据。报道的摘要把起因指向一句熟悉的提示——“不要再问”,用户点了它,密钥就被写进了会进版本库的文件。

先把边界说清楚:我们没有读过这篇报道的正文,也没有复现这次泄露。下面的信息只来自报道的标题与摘要,其余是我们给出的通用自查方法,不包含任何“已经泄露了多少仓库、多少密钥”的数字。

这篇讲的到底是什么

  • 出问题的不是模型输出,而是开发者的本地配置:Claude Code 的配置文件里可以写环境变量、权限允许列表、钩子命令
  • 这些文件默认放在项目目录下的 .claude 里,一旦执行 git add .,就会跟着代码一起进仓库
  • 仓库如果是公开的,提交历史里的密钥就等于公开了;删掉文件不等于删掉历史
  • 报道的标题用了“意外”(accidentally),这不是有人在攻击,而是日常操作里的疏忽

和“邮箱外泄”那件事不是一回事

  • 我们此前写过另一篇:Claude Code 把账号邮箱写进请求头,发给第三方网站;那是“请求时带出去”
  • 这篇讲的是“存下来”:配置文件里的密钥被提交进公开仓库,任何能浏览仓库的人都能看到
  • 两者的触发点、影响面和补救方式都不同:前者要改请求头的生成逻辑,后者要清理版本库并轮换凭据
  • 不要把两件事的结论互相套用。看到“Claude Code 泄露”这类标题,先分清是哪一种

为什么这类文件容易进仓库

  • 配置文件通常就在项目根目录,和代码混在一起,提交时很难被注意到
  • 有些团队把 .claude 当成项目的一部分共享给同事,于是它天然被 git 跟踪
  • 本地覆盖文件与共享文件名字相近,一个该忽略、一个该提交,很容易搞反
  • 一旦密钥进过一次历史,后续即使删掉,旧的提交仍然可以被检出

自查清单

  • 先看工作区:列出项目里所有 .claude 相关的文件,逐个确认是共享配置还是本地覆盖
  • 再看跟踪状态:用 git status 与 git ls-files 确认哪些配置文件已经被 git 管理
  • 然后查历史:git log 按文件路径过滤,看看这些文件是否曾经被提交过,包括后来删掉的那些
  • 查内容:在历史里搜索常见的密钥形状,比如长串随机字符、以 sk- 开头的 token、私钥头
  • 查远端:仓库如果公开过,即使后来转为私有,fork 与缓存也可能仍然存在
  • 查周边:dotfiles 仓库、备份目录、CI 日志、粘贴板历史,都可能是同一条密钥的另一个出口

发现泄露之后怎么办

  • 先轮换,再清理。密钥一旦进过公开仓库,就应当视为已泄露,直接作废并换新
  • 清理历史要用专门工具重写提交;普通删除只会新增一个“删除文件”的提交,旧内容仍在
  • 重写历史需要强制推送,会影响所有协作者;已经存在的 fork 不会被你的重写覆盖
  • 如果仓库托管在公开平台,可以考虑联系平台处理缓存与搜索结果,但不要把它当成主要补救手段
  • 轮换完再检查一遍:新密钥有没有又以同样的方式被写进文件

怎么防止下一次

  • 把本地覆盖文件写进 .gitignore,共享配置里只放不含密钥的默认值
  • 密钥走环境变量或密钥管理服务,不要在配置文件里写明文
  • 提交前用钩子或扫描工具过一遍暂存区,拦截疑似密钥
  • 给团队定一条规则:任何要提交的配置,先假设它会被公开
  • 定期跑一次历史扫描,而不是等出事再查

我们核实了什么

  • 核对了报道的标题、链接与发布时间;报道指向的是 Ars Technica 的 AI 版块
  • 在 Hacker News 上换了几个关键词检索,没有找到对应的讨论条目;这不代表报道有误,只说明它没有在那里被讨论
  • 我们没有读报道正文,也没有复现泄露,更没有统计受影响的仓库或密钥数量
  • 上面的清单是通用的密钥卫生做法,不依赖这次事件的具体细节

本文基于以下公开报道整理。

参考来源

本文由 AI 辅助整理,事实来自上方公开报道的标题与摘要;我们未读正文、未复现泄露,自查清单为通用建议。

§

所属主题

Topics

主题只是把现有标签归并后的浏览方式,标签本身不变;全部标签 · 画廊

← 全部文章