Oossa

Claude Code 设置文件致数千条机密信息暴露在 GitHub

安全研究人员在 GitHub 上发现超过 10 万个公开的 Claude Code 设置文件,其中 1,100 个包含密码、API 密钥和私钥。

作者: Oossa 发布日期: 1 分钟阅读

Safar Safarov · Unsplash

Anthropic 的 Claude Code 是一款工具,允许开发者在项目中运行 AI 生成的 shell 命令。用户点击“是,并且不再询问”后,相关授权会保存在本地的 .claude/settings.local.json 文件中。该文件会记录具体命令,其中可能包含数据库密码、API 令牌或其他凭据。Anthropic 的文档称,这个文件会被添加到全局 .gitignore 中,因此应该只留在开发者的设备上。

Apiiro 的研究人员发现,.gitignore 中的这条规则并不适用于仓库本身。如果之后将包含该设置文件的文件夹初始化为 Git 仓库,或者 Claude Code 自行提交了该文件,敏感数据就可能被推送到 GitHub。Apiiro 扫描公开的 GitHub 仓库后发现了超过 10 万个此类文件,其中约 1,100 个含有真实机密信息。这些信息来自 63 个不同的组织,包括公开的 API 令牌、数据库密码和私钥。

文件一旦公开,即使从主仓库中删除,也无法从分支仓库或缓存副本中彻底清除。这意味着,任何克隆该仓库或查看其历史记录的人仍可能看到泄露的凭据。研究人员警告称,如果泄露的密钥仍然有效,攻击者可能借此访问数据库、云服务或内部系统。

泄露为何值得关注

这一发现提醒开发者,在提交代码前应仔细检查哪些文件会被纳入版本控制。仅依赖全局 .gitignore 并不足够;每个仓库都应有自己的 .gitignore,并将 .claude/settings.local.json 排除在外。组织还应轮换任何可能已暴露的凭据,并扫描仓库,查找类似文件。

为什么重要

开发者使用 Claude Code 时可能无意中暴露凭据,导致服务面临未经授权访问的风险。组织必须审查自己的仓库,将该设置文件视为敏感信息,在每个项目的 .gitignore 中将其排除,并轮换任何已泄露的密钥。

这篇文章有帮助吗?
分享

继续阅读

Oossa · 新闻简报

一周 AI,讲明白

每周一,用通俗的语言讲清值得知道的新闻。免费,无垃圾邮件。