2026 年 11 月 9 日,Ars Technica 援引安全公司 Apiiro 的研究报道,AI 编程助手 Claude Code 的一项"记住授权"设计正在把开发者的真实凭据送上公开 GitHub:研究者在 1,994 个公开仓库里找出了 2,539 个真实凭据,包括数据库密码、API 密钥与 root 登录信息。这不是入侵,而是便利功能引发的系统性泄露。
密码是怎么进到公开仓库的
起点是执行 Shell 命令前的那句确认。用户选"是,且不再询问"后,放行规则会被写进项目里的 .claude/settings.local.json,命令原文也常被原样保存,夹带的密码或令牌就跟着进了文件。按设计,它只写进开发者自己的全局 .gitignore,仓库级规则不会自动补上,克隆到新电脑或文件夹事后建仓都可能把它带上去。Apiiro 在 2026 年 11 月 1 日至 3 日扫描公开 GitHub,在 103,617 个仓库里发现 104,185 份该文件,其中 1,122 份含 1,379 个不同凭据;连同 Git 历史、共享设置与聊天记录,总数达 2,539 个,涉及 63 个组织。它有时还会自行提交设置文件的变更;即使原仓库删了文件,已分叉的副本仍会留存。
暴露不等于被盗用,但不能赌它没人用
先划清边界:Apiiro 没测凭据是否仍有效,也没收到被滥用报告,只有一家被通知的公司确认密钥当时仍有效。这是已被证实的"暴露",不是"被盗用",但风险不因此变小——密码一旦公开,任何人都能尝试,轮换前不能假设安全。这也并非新发现:2025 年 8 月的类似缺陷报告因 60 天无活动被自动关闭。Claude Code 团队成员 Boris Cherny 在 11 月 7 日回应称正在研究防范措施,考虑内置密钥扫描,但没给修复时间表。
现在就做三件事
用过 Claude Code 的,现在做三件事:在全部仓库和 Git 历史里搜 .claude/settings.local.json 与 .claude/settings.json,确认没进过公开仓库;出现过真实密码或令牌的,立即轮换;再用 gitleaks 或 TruffleHog 扫一遍——但这两款工具漏掉了约 1,100 个含凭据文件中的 215 个,别只靠它们兜底。根本办法是命令里别写明文密码,改用环境变量或密钥管理;"不再询问"只留给不含敏感信息的命令。Anthropic 何时推出内置防护,值得盯着。相关站内报道:Claude Code v2.1.280 发布。