跳到正文
IT之家·人工智能·· 2 小时前精选AI 评分79

Claude Code 被曝把密码写进项目文件,GitHub 上发现 2539 个真实凭据,官方正在修复

官方正在修复:Claude Code 被爆把密码写进项目文件,GitHub 上发现 2539 个真实凭据

AI 导读

Ars Technica 报道,安全公司 Apiiro 发现超过 10 万份 Claude Code 本地设置文件被上传至公开仓库,共识别出 1,994 个代码库中的 2,539 个真实凭据,涉及 63 个组织,包括 Azure 数据库密码、Square 生产令牌和 SSH root 登录信息。

推荐理由

原文梳理了 Claude Code 设置文件泄露凭据的机制成因和文件大小、授权时长等规律,开发者可据此自查本地配置风险。

正文

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