Claude Code 被曝把密码写进项目文件,GitHub 上发现 2539 个真实凭据
官方正在修复:Claude Code 被爆把密码写进项目文件,GitHub 上发现 2539 个真实凭据
- 1安全公司 Apiiro 发现 1,994 个代码库中存在 2,539 个真实凭据,涉及 63 个组织
- 2根因在免再次询问的授权机制,命令原文连同其中的密码、令牌会被写入本地设置文件
- 3每十份超过 8 KB 的文件中有一份含真实秘密,小于 500 字节的文件比例不到五百分之一
- 4Claude Code 团队回应称正在研究预防措施,并考虑把密钥扫描功能内置到工具中
编程智能体的免确认授权机制正在制造新的泄密渠道,本应留在本地的权限记录文件成了凭据流出代码库的通道。
- 影响:使用 Claude Code 等编程智能体的团队需把凭据暴露当作已发生的风险处理;即便删除仓库文件,被 fork 的副本仍可能留存密钥,清除成本随之放大;授权记录随使用时长累积,运行越久的项目风险越高。
- 参考:可考虑扫描组织公开仓库和 Git 历史中的 .claude/settings.local.json 并轮换其中凭据,值得部署密钥扫描工具,并对不再询问类授权的累积设置管理上限。
- 依据:判断依据安全公司 Apiiro 的研究数据,经 Ars Technica 报道,暂无独立复核;官方口径为正在研究预防措施并考虑内置密钥扫描。
IT之家 11 月 10 日消息,科技媒体 Ars Technica 昨日(11 月 9 日)发布博文,指出 AI 编程智能体 Claude Code 正在把部分开发者的敏感凭据意外暴露到公开的 GitHub 仓库中。
安全公司 Apiiro 的研究人员发现,超过 10 万份 Claude Code 本地设置文件被上传至公共仓库,其中约 1,100 份文件含有数据库密码、API Token、私钥或 root 登录信息等机密数据。结合 Git 历史记录、共享设置文件及智能体聊天记录,共识别出 1,994 个代码库中的 2,539 个真实凭据。
受影响对象包括 63 个组织,涵盖学生团队、初创企业、软件代理商及成熟供应商,泄露内容涉及 Azure 数据库密码、Square 生产令牌、SSH root 登录信息,甚至医疗记录数据库的拥有者密码。IT之家附上相关信息如下:

庞大的允许列表会推高泄露率。每十个超过 8 KB 的文件中就有一个包含真正的秘密,而小于 500 字节的文件中,这一比例不到五百分之一。开发者点击“不再询问”的时间越长,文件包含的秘密就越多。

问题的根源在于 Claude Code 处理“自动执行命令”授权的方式。当用户在工具询问是否允许某条 Shell 命令运行时,若选择“是,且不再询问”,该授权规则会被写入本地的 .claude/settings.local.json 文件;而命令原文,包括其中可能夹带的密码、令牌或密钥,也可能一并被记录。

按设计,该设置文件应被加入开发者全局的 .gitignore,通常不会随代码一起提交。但这一设置并不一定作用于具体仓库:当项目被克隆到另一台电脑,或某个普通文件夹后来才被初始化为 Git 仓库后,就可能误传敏感文件。

研究还称,Claude Code 有时会在未经用户确认的情况下,自行把设置文件变更提交到仓库。更麻烦的是,即使原始仓库删除了泄露文件,若其他用户已创建分支(fork),密钥仍可能继续留存。
该风险并非首次被发现。早在 2025 年 8 月,就有 Claude Code 的 bug 报告指出相关设置文件可能未被正确加入 .gitignore,或敏感命令被写入其他不受 Git 保护规则的文件,这些报告后来因 60 天无活动而被关闭。
Claude Code 团队的 Boris Cherny 于 11 月 7 日在 Hacker News 回应称,团队正在研究预防措施,并表示设置文件本不应被提交到版本控制中。他也建议用户使用密钥扫描工具清理敏感信息,并称正考虑把密钥扫描功能内置到 Claude Code。

来源:IT之家·人工智能 · ithome.com