Claude Cowork 文件外泄漏洞:AI 协作工具的安全隐患
发现 Claude Cowork 存在文件外泄风险,对使用 Claude 进行敏感工作的开发者是重要的安全告警和风险提醒。
发现 Claude Cowork 存在文件外泄风险,对使用 Claude 进行敏感工作的开发者是重要的安全告警和风险提醒。
这上了 HackerNews 的热榜!查看讨论,请点击这里。
两天前,Anthropic 发布了 Claude Cowork 研究预览版(一个通用 AI agent,帮助任何人完成日常工作)。在本文中,我们演示了攻击者如何通过利用 Claude 编码环境中一个未修复的漏洞来外泄 Cowork 中的用户文件,这个漏洞现已扩展到 Cowork。该漏洞首先由 Johann Rehberger 在 Cowork 问世之前在 Claude.ai 聊天中发现,他披露了该漏洞——Anthropic 承认但未修复它。Anthropic 警告用户,"Cowork 是一个研究预览版,由于其 agent 性质和互联网访问而具有独特的风险。"建议用户注意"可能表示 prompt injection 的可疑操作"。然而,由于这项功能是为普通大众而非仅供技术用户使用而设计的,我们同意 Simon Willison 的观点:
由于 Anthropic 已经承认了这一风险,并要求用户"避免授予敏感信息本地文件的访问权限"(同时又鼓励使用 Cowork 来组织桌面),我们选择公开披露这个用户应该了解的威胁演示。通过提高认识,我们希望能让用户更好地识别 Anthropic 警告中提到的"可疑操作"类型。
这次攻击利用了 Anthropic API 的白名单机制,从而在 Claude 的虚拟机环境(该环境限制了大多数网络访问)中实现数据外泄。
受害者将 Cowork 连接到包含机密房地产文件的本地文件夹
对于一般用例,这很常见;用户在网上找到文件并上传到 Claude 代码。这次攻击不依赖于注入的来源——其他注入来源包括但不限于:Claude for Chrome 的网络数据、连接的 MCP 服务器等。在这种情况下,该文件是一个 Claude 'Skill'(尽管如前所述,它也可能只是普通文档),因为这是用户在使用 Claude 时可能遇到的通用文件约定。
注意:如果你熟悉 Skill,它们规范上是 Markdown 文件(用户通常不会仔细审查)。然而,我们演示了更有趣的东西:用户上传一个 .docx(这样的文件可能在在线论坛中共享),它伪装成 Skill——内容看起来像是在 Word 中编辑后保存的 Markdown。实际上,这个技巧允许攻击者使用 1 点字体、白底白字、行距设置为 0.1 来隐藏注入——使其实际上无法被检测。
受害者上传一个包含隐藏 prompt injection 的文件到 Claude。对于一般用例,这很常见;用户在网上找到文件并上传到 Claude 代码。这次攻击不依赖于注入的来源——其他注入来源包括但不限于:Claude for Chrome 的网络数据、连接的 MCP 服务器等。在这种情况下,该文件是一个 Claude 'Skill'(尽管如前所述,它也可能只是普通文档),因为这是用户在使用 Claude 时可能遇到的通用文件约定。
注意:如果你熟悉 Skill,它们规范上是 Markdown 文件(用户通常不会仔细审查)。然而,我们演示了更有趣的东西:用户上传一个 .docx(这样的文件可能在在线论坛中共享),它伪装成 Skill——内容看起来像是在 Word 中编辑后保存的 Markdown。实际上,这个技巧允许攻击者使用 1 点字体、白底白字、行距设置为 0.1 来隐藏注入——使其实际上无法被检测。
受害者要求 Cowork 使用上传的房地产 'Skill' 来分析文件
注入告诉 Claude 使用 'curl' 命令向 Anthropic 文件上传 API 发出请求,上传最大的可用文件。注入随后提供攻击者的 API 密钥,因此文件将被上传到攻击者的账户。在此过程中的任何环节都不需要人工批准。
如果我们展开 'Running command' 块,我们可以看到恶意请求的详细信息:
由 Claude 执行的代码在虚拟机中运行——限制向几乎所有域的出站网络请求——但 Anthropic API 作为受信任的对象逃过检测,允许这次攻击成功完成。
注入操纵 Cowork 将文件上传到攻击者的 Anthropic 账户。注入告诉 Claude 使用 'curl' 命令向 Anthropic 文件上传 API 发出请求,上传最大的可用文件。注入随后提供攻击者的 API 密钥,因此文件将被上传到攻击者的账户。在此过程中的任何环节都不需要人工批准。
攻击者的账户包含受害者的文件,允许他们与其进行对话
外泄的文件包含财务数据和 PII,包括部分 SSN。
上述漏洞是针对 Claude Haiku 演示的。尽管 Claude Opus 4.5 已知对注入具有更强的弹性,但 Cowork 中的 Opus 4.5 通过间接 prompt injection 成功被操纵,在一个测试中利用相同的文件上传漏洞来外泄数据,该测试考虑了一个"用户"在开发新 AI 工具时上传恶意集成指南的情况:
由于本文的重点更多是针对日常用户(而非开发人员),我们选择演示上述攻击链而不是这个。
有趣的发现:当文件与其声称的类型不匹配时,Claude 的 API 会出现问题。当操作格式错误的 PDF(以 .pdf 结尾,但实际上是只有几句话的文本文件)时,在尝试读取一次后,Claude 在对话中的每个后续聊天中都开始抛出 API 错误。
我们推测可能有可能通过间接 prompt injection 利用这一失败来导致有限的拒绝服务攻击(例如,一个注入可以促使 Claude 创建一个格式错误的文件,然后读取它)。通过文件 API 上传格式错误的文件导致在 Claude 客户端和 Anthropic 控制台中都出现带有错误消息的通知。
Cowork 创建的关键能力之一是与个人整个日常工作环境交互的能力。这包括浏览器和 MCP 服务器,授予发送短信、使用 AppleScript 控制 Mac 等能力。这些功能使得模型越来越有可能处理敏感和不受信任的数据源(用户不会手动审查以查找注入),使 prompt injection 成为一个不断增长的攻击面。我们敦促用户在配置连接器时谨慎行事。虽然本文演示的漏洞没有利用连接器,但我们认为它们代表了一个可能影响日常用户的主要风险面。
来自 PromptArmor 威胁情报团队的研究,由 qual1a 领导
我们追踪 Claude Cowork 中的每一个安全和隐私控制变化