用 Claude Code 点过「Yes, and don't ask again」的,花一分钟查一下:带密码的命令会被原样存进项目里的一个文件,这个文件一旦提交到 GitHub,密码就公开了。
怎么回事:Claude Code 跑命令前会弹窗问你,选「Yes, and don't ask again」,它会把这条命令存成一条「以后直接放行」的规则,写进项目根目录的 .claude/settings.local.json。命令里要是直接写着密码或 key,规则里就是明文。
安全公司 Apiiro 在 GitHub 公开仓库里找到 1,122 份这个文件存着明文密码。报告作者在 HN 讨论里补充:他们追到的 1,105 个仓库里,有 539 个改过这个文件的提交,共同作者署名里就有 Claude。
Claude Code 团队的 Boris 11 月 8 日在 HN 回复:
· 这个文件本来就只该留在本机,不该提交;Claude Code 创建它时会自动让 git 忽略它
· Claude Code 以前不做密钥清理,正在想办法防
· 建议改用自动模式(auto mode),不用再自己维护放行清单;不管用哪个 AI 工具,都该打开代码托管平台的密钥扫描(GitHub 就有)
官方文档写明:这条「自动忽略」加在你这台电脑的全局 git 设置里,不在项目自己的 .gitignore 里;