
Claude Code 的「不再询问」按钮被指泄露密钥,逾 3.1 万个凭证暴露在公开仓库
来源标题:Claude Code’s ‘don’t ask again’ button has a secrets-spilling problem
GitGuardian 发现,Anthropic 的 Claude Code 用于记录本地命令权限的 .claude/settings.local.json 文件,在 23276 个公开 GitHub 仓库中泄露了 31088 个密钥,其中 5343 个在检测时仍然有效。暴露内容包含数据库连接串、云厂商令牌、SSH 密码和 Google API 密钥等,部分还出现在公开的 Docker Hub 镜像里。问题源于用户选择「Yes, and don’t ask again」后,工具会把允许执行的命令写入该配置文件。
以下正文由 AI 翻译自 InfoWorld(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
根据GitGuardian的发现,Anthropic旗下Claude Code中一个用于存储本地命令权限的配置文件正在泄露数千个API密钥、数据库凭据及其他机密信息。
这家代码安全公司在23,276个公开GitHub仓库的Claude Code“.claude/settings.local.json”文件中识别出31,088个不同的机密信息。其中,GitGuardian检测时仍有5,343个处于有效状态。泄露的凭据包括数据库连接字符串、云服务商token、SSH密码、Google API密钥以及AU服务凭据。
“settings.local.json的月度泄露量在2026年4月达到峰值12,535次,随后到10月降至959次,我们尚不清楚发生了什么变化,”GitGuardian研究员Guillaume Valadon在博客文章中表示。
除源代码仓库外,泄露范围还包括嵌入在公开可访问的Docker Hub镜像中的机密信息。Valadon解释说,问题出在Claude Code处理命令审批的方式上。
命令审批变成凭据存储
Claude Code在执行某些shell命令前会向开发者请求权限。当开发者选择“Yes, and don't ask again”选项时,该工具会将一条允许规则保存到.claude/settings.local.json——一个项目级配置文件中。
问题在于,保存的规则包含实际的命令字符串,其中包括嵌入其中的任何凭据。
例如,开发者要求Claude Code与某个API交互时,可能会批准一条curl命令,而该命令的HTTP头中包含API密钥。Claude Code随后会将整条命令作为已批准的规则存储下来,从而将凭据留在配置文件中。
Valadon表示,尽管Claude Code会自动将该文件添加到本地Git忽略设置中,但这种保护不一定能延续到其他机器或仓库。开发者可能会意外提交该文件,尤其是在跨不同克隆工作时,或者该文件已被跟踪的情况下。
GitGuardian发现,在settings.local.json中能够确认有效性的案例里,67%为有效凭据。数据库标识符构成有效机密的最大类别,共有2,280个不同凭据,其次是云服务商token和AI token。
研究还指出,传统的机密扫描工具可能会漏掉很大一部分泄露内容。嵌入在命令行参数和环境变量赋值中的密码往往缺乏特定服务商检测规则所依赖的可识别格式。
Docker Hub上的泄露凭据
GitGuardian还检查了公开的Docker Hub镜像,在Claude Code设置文件中发现了613个不同机密,其中99个在检测时处于有效状态。
这些凭据出现在543个镜像仓库和7,625个标签中。据Valadon称,当开发者使用Docker的“COPY..”指令将整个项目工作目录复制到镜像中时,问题就会产生。
与Git不同,Docker不会自动遵循仓库的.gitignore文件。因此,除非开发者通过.dockerignore明确排除,否则被排除在版本控制之外的Claude Code配置文件仍可能被复制到容器镜像中。
一个有效的Cloudflare API token出现在559个镜像标签中,而一个数据库密码出现在7个镜像仓库的643个标签中。
从GitHub仓库中删除问题文件并不能消除已通过已发布镜像分发出去的凭据。开发者必须轮换已泄露的凭据,从Git和Docker构建上下文中移除敏感配置文件,并检查此前发布的镜像中是否有残留机密。
GitGuardian建议将AI编程助手的配置文件视为潜在的机密载体资产,将其与常规环境文件一同扫描,并使用环境变量而非将凭据硬编码到命令中。
Anthropic未立即回应CSO的置评请求。GitGuardian表示,Anthropic的Claude Code负责人Boris Cherny已承认该问题,称公司正在调查此事,并探索额外的防护措施,包括内置机密扫描和自动模式。
本文最初发表于CSO。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。