安全公司 Apiiro 扫了一遍 GitHub,在 1994 个公开代码库里找到 2539 个真实可用的凭据,数据库密码、API Token 都有。源头是同一个东西:Claude Code 的本地设置文件。
机制并不复杂。Claude Code 执行 Shell 命令前要用户批准,批准过的命令会被写进项目目录下的本地设置文件,下次就不用再问。问题是很多命令本身带着密钥,比如一条把密码直接写在参数里的数据库连接命令。命令被原样记下来,文件又没有被加进 .gitignore,一次 git add 就跟着项目一起推上去了。
规模不小。超过 10 万份这样的设置文件被传到了公共仓库,其中约 1100 份含有机密数据。
Claude Code 团队的回应是正在研究预防措施,并考虑内置密钥扫描。
平心而论,这不算 Claude 把密钥“泄露”出去,是用户把含密钥的文件提交了。但工具的默认行为确实在给人挖坑:它在项目目录里生成了一个多数人不知道存在、也不知道里面有什么的文件。
现在就能做的三件事:
打开你项目里的 .claude 目录,看一眼 settings.local.json 里的 allow 列表,有没有带密码或 Token 的命令。
确认这个文件在 .gitignore 里。全局 gitignore 里加一条更省心。
如果已经推上去过,删文件没用,历史里还在。老老实实去轮换密钥。
同样的毛病不只这一家有。任何会“记住你批准过的命令”的编程智能体,都值得用同样的办法查一遍。
© 版权声明
文章版权归作者所有,未经允许请勿转载。






十万份 Claude Code 本地设置文件被传上 GitHub,里面翻出 2539 个真实凭据