Newshot
Account

Claude Code将2539个真实凭据上传GitHub,授权记录疏漏是主因

Summary

安全公司 Apiiro 在公开的 Claude Code 设置、Git 历史和聊天记录里,识别出 2539 个能通过认证的真实凭据,涉及 1994 个代码库、63 个组织。泄露的起点不是一次误传:用户点下“是,且不再询问”,命令里的密码、令牌和私钥就跟着授权记录写进本地设置,再被 Git 提交带进公开仓库。省下的几次弹窗,代价是长期有效的密钥。 这像把门禁卡使用记录贴在门口:记录本想帮开发者少刷卡,却连同卡上暗号一起留在外面;更麻烦的是,原本紧闭的抽屉可能因搬家或换柜子而失去保护。 事件 2539 个真实凭据,流进了公开仓库 Apiiro 在公开的 Claude Code 设置、Git 历史和聊天记录里,找到了可用于认证的真实凭据。 安全公司 Apiiro 的研究人员交叉检查了公开的 Claude Code 本地设置文件、Git 历史记录、共享设置文件和智能体聊天记录。他们识别出 2539 个真实凭据,涉及 1994 个代码库和 63 个组织。这些密码、令牌或密钥能让外部人员通过认证,不是普通文件里长得像密码的字符串。 2539 被识别的真实凭据 1994 受影响的代码库 63 受影响的组织 名单覆盖学生团队、初创企业、软件代理商和成熟供应商。公开仓库中出现了 Azure 数据库密码、Square 的生产环境令牌、SSH 的 root 登录信息,以及医疗记录数据库的拥有者密码。同一份设置、同一段 Git 历史或聊天记录,可能留下多处秘密,因此凭据数量不能直接等同于泄露文件数。 这些文件本应留在本地,后来却连同命令原文里的密码、令牌一起被上传至 GitHub。版本控制(记录文件每次修改的系统)一旦收进敏感信息,后续删除文件也不等于秘密已经消失。 为何要紧 一次确认,可能埋下长期密钥 Claude Code 把用户授予的长期执行权,连同命令里的秘密一起保存。省掉确认框,也多了一条通往公开仓库的路径。 Claude Code 是 Anthropic 推出的 AI 编程智能体(代替人执行开发任务的软件代理)。运行 Shell 命令(操作系统命令解释器)前,用户可以点“是,且不再询问”,让同类命令以后跳过确认。 这项授权会写进项目本地的 .claude/settings.local.json 。被允许的完整命令也可能一起落盘,包括命令行里的密码、令牌或密钥。 Apiiro 研…

Original text(via 听说了吗)

Claude Code将2539个真实凭据上传GitHub,授权记录疏漏是主因

研究人员发现,Claude Code 在记录自动执行命令授权时,可能连同密码、令牌和密钥写进本地设置;文件又因 Git 配置或自动提交进入公开仓库。研究团队据此识别出 2539 个真实凭据,Anthropic 正研究预防措施。

封面图来自IT之家·人工智能(官网直连)
封面图来自IT之家·人工智能(官网直连)
  • 2539个真实凭据被识别

安全公司 Apiiro 在公开的 Claude Code 设置、Git 历史和聊天记录里,识别出 2539 个能通过认证的真实凭据,涉及 1994 个代码库、63 个组织。泄露的起点不是一次误传:用户点下“是,且不再询问”,命令里的密码、令牌和私钥就跟着授权记录写进本地设置,再被 Git 提交带进公开仓库。省下的几次弹窗,代价是长期有效的密钥。

2539 个真实凭据,流进了公开仓库

Apiiro 在公开的 Claude Code 设置、Git 历史和聊天记录里,找到了可用于认证的真实凭据。

安全公司 Apiiro 的研究人员交叉检查了公开的 Claude Code 本地设置文件、Git 历史记录、共享设置文件和智能体聊天记录。他们识别出 2539 个真实凭据,涉及 1994 个代码库和 63 个组织。这些密码、令牌或密钥能让外部人员通过认证,不是普通文件里长得像密码的字符串。

名单覆盖学生团队、初创企业、软件代理商和成熟供应商。公开仓库中出现了 Azure 数据库密码、Square 的生产环境令牌、SSH 的 root 登录信息,以及医疗记录数据库的拥有者密码。同一份设置、同一段 Git 历史或聊天记录,可能留下多处秘密,因此凭据数量不能直接等同于泄露文件数。

这些文件本应留在本地,后来却连同命令原文里的密码、令牌一起被上传至 GitHub。版本控制(记录文件每次修改的系统)一旦收进敏感信息,后续删除文件也不等于秘密已经消失。

一次确认,可能埋下长期密钥

Claude Code 把用户授予的长期执行权,连同命令里的秘密一起保存。省掉确认框,也多了一条通往公开仓库的路径。

Claude Code 是 Anthropic 推出的 AI 编程智能体(代替人执行开发任务的软件代理)。运行 Shell 命令(操作系统命令解释器)前,用户可以点“是,且不再询问”,让同类命令以后跳过确认。

这项授权会写进项目本地的 .claude/settings.local.json。被允许的完整命令也可能一起落盘,包括命令行里的密码、令牌或密钥。

Apiiro 研究人员在超过 10 万份被上传到公共仓库的 Claude Code 本地设置文件中,发现约 1,100 份含有数据库密码、API Token(调用外部服务的访问凭证)、私钥或 root 登录信息等机密。

比例接近百分之一。样本来自已上传的公开设置文件,不能直接代表所有 Claude Code 用户。

.gitignore(指定 Git 不跟踪哪些文件的规则)也未必兜得住。该设置文件按设计应加入全局忽略规则,但全局规则未必作用到具体仓库。

代码被克隆到另一台电脑,或普通文件夹后来才初始化为 Git 仓库,原本的保护就可能失效。研究还称,Claude Code 有时会在用户未确认时提交设置文件变更,“本地记忆”也会跟着一次推送变成公共记录。

删除文件不等于止损。若其他人已经创建分支(fork,复制出的仓库版本),密钥仍可能留在副本和历史中。多年积累的授权记录,还会把若干次本应只留在终端的秘密串在一起。个人练习项目、小型工作室和临时仓库也可能缺少专人检查忽略规则与提交历史。

点一次确认,从此多了一层含义:用户减少了几次弹窗,智能体却可能长期保留执行权限,并保存含有秘密的命令原文。官方团队成员 Boris Cherny 说,团队正在研究预防措施,也考虑把密钥扫描功能内置进 Claude Code。问题尚在处理中,安全团队此前已发现相关迹象。

后面约 6 分钟,是会员的。

免费部分到这里。墙内还有:

墙内重点:你以为只是少点几次“允许”,却可能把秘密一起推向公开仓库。

The text above was extracted automatically from the source page and may miss images, tables or code blocks. The original is authoritative.

Published by 听说了吗
This site only summarises and aggregates; copyright stays with the original author. Headlines and summaries follow the source — where they differ, the original wins.
Read the original ↗