Claude Code授权设置泄露凭据:超10万份文件被传上GitHub
IT之家 11 月 10 日消息,科技媒体 Ars Technica 昨日(11 月 9 日)发布博文,指出 AI 编程智能体 Claude Code 正在把部分开发者的敏感凭据意外暴露到公开的 GitHub 仓库中。安全公司 Apiiro 的研究人员发现,超过 10 万份 Claude Code 本地设置文件被上传至
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 登录信息,甚至还有医疗记录数据库的拥有者密码。
允许列表越大,泄露率越高。文件超过 8 KB 时,每十个里就有一个藏着真正的秘密;不到 500 字节的文件,这个比例低于五百分之一。用户点“不再询问”的次数越多、时间越久,文件里积累的秘密就越多。
根源在于 Claude Code 处理“自动执行命令”授权的方式:工具询问是否允许运行某条 Shell 命令时,用户若选“是,且不再询问”,这条授权规则就会被写进本地的.claude/settings.local.json文件,而命令原文也可能被一并记下,里面夹带的密码、令牌或密钥同样跑不掉。
按设计,这个设置文件应当被加进开发者全局的,一般不会跟着代码一起提交。可它未必对具体仓库生效:项目被克隆到另一台电脑,或者某个普通文件夹后来才被初始化成 Git 仓库,敏感文件就可能被误传上去。.gitignore
研究还提到,Claude Code 有时不经过用户确认,自己就把设置文件的变更提交到仓库。更棘手的是,原始仓库即使删掉了泄露文件,只要其他用户已经建了分支(fork),密钥仍可能留在那里。
这类风险此前就有人发现。2025 年 8 月已有 Claude Code 的 bug 报告指出,相关设置文件可能没被正确加入,或者敏感命令被写进了其他不受 Git 保护规则约束的文件;这些报告后来因为 60 天没有活动而被关闭。.gitignore
Claude Code 团队的 Boris Cherny 于 11 月 7 日在 Hacker News 回应,团队正在研究预防办法,设置文件本来就不该被提交到版本控制中。他同时建议用户用密钥扫描工具清理敏感信息,并表示在考虑把密钥扫描功能做进 Claude Code。