Claude Code 本地设置外泄:1122 个公开仓库含真实密钥
安全公司 Apiiro 11 月 5 日发布研究:Claude Code 的“不再询问”功能把含真实口令的命令以明文存入项目本地设置文件,GitHub 上 104185 个公开副本中 1122 个含有真实密钥。

发生了什么
问题出在一次点击上。用户让 Claude Code 查数据库或调用 API 时,工具先给出命令并在执行前征求确认;选“是,不再询问”后,命令连同其中的口令原样存入项目目录下的 .claude/settings.local.json,成为永久允许规则。该文件本应只留在开发者本机,Claude Code 首次在仓库中创建它时会把它加入用户的全局 git 忽略列表,但一旦文件已经进入版本控制,忽略规则不再起作用,文件随代码一同公开。
Apiiro 在 2026 年 11 月 1 日至 3 日用 GitHub 代码搜索统计:公开仓库共有 104185 个该文件副本,分属 103617 个仓库;其中 1122 个(1.1%)含有真实密钥,共 1379 个不同密钥;计入旧版本、团队主动提交的共享 settings.json 与保存的智能体聊天记录,总计 2539 个不同密钥分布在 1994 个仓库。按类别计,数据库口令 379 个、AI 模型 API 密钥 149 个、Supabase 服务端密钥 122 个、谷歌 API 密钥 110 个、AWS 密钥 23 个。
外泄凭证包括一家数据库厂商自己的管理级云密钥、一个生产环境 Azure Postgres 口令、一个 Square 生产 token 与一个医疗记录应用数据库的所有者口令;63 家机构受影响,多为各规模软件公司,其中一家向 Apiiro 确认泄露的密钥当时仍有效。扫描工具也未能兜底:gitleaks 与 TruffleHog 分别只检出 1122 个文件中的 564 个与 643 个,215 个两者均未检出。用户自 2025 年 8 月起已在 Claude Code 代码库报告过这一机制,Apiiro 引用 4 起报告,称均未获 Anthropic 回复;截至 11 月 8 日,Anthropic 未公开回应,相关文档未见改动。
关键事实
- 研究方与时间:安全公司 Apiiro,2026 年 11 月 5 日发布,作者 Shmulik Cohen 与 Matan Giladi
- 机制:选“不再询问”后,含口令的命令以明文存入项目目录下的 .claude/settings.local.json
- 统计窗口:2026 年 11 月 1 日至 3 日,GitHub 代码搜索
- 规模:104185 个公开副本,分属 103617 个仓库;1122 个含真实密钥,占 1.1%
- 密钥数:1122 个文件中共 1379 个不同密钥;计入历史版本与共享文件等,总计 2539 个,分布在 1994 个仓库
- 类别:数据库口令 379 个、AI 模型 API 密钥 149 个、Supabase 服务端密钥 122 个、谷歌 API 密钥 110 个、AWS 密钥 23 个
- 受影响机构:63 家,多为软件公司;一家确认泄露密钥当时仍有效
- 典型外泄物:数据库厂商管理级云密钥、生产环境 Azure Postgres 口令、Square 生产 token、医疗记录应用数据库所有者口令
- 扫描盲区:gitleaks 检出 564 个、TruffleHog 检出 643 个,215 个两者均未检出,约占五分之一;在追踪的 1105 个仓库中,539 个有 Claude 联合署名的提交改动过该文件
- 历史与回应:用户自 2025 年 8 月起报告过该机制,4 起报告未获回复;截至 11 月 8 日 Anthropic 未公开回应;Apiiro 未测试密钥,是否仍有效未知
为什么重要
1122 个文件含真实密钥,中位泄露文件在仓库停留 217 天,扫描工具漏掉约五分之一;删除文件清不掉 git 历史副本,受影响者需轮换密钥并检查共享设置文件。
相关公司Anthropic
订阅 HIMIAO视界
不用注册 · 随时退订推送通知
早报出来时,手机或电脑上弹一条提醒。不用留邮箱。
™