Hacker News 中文摘要

RSS订阅

破解Claude Code Opus 5自动模式 -- Breaking Claude Code Opus 5 Auto Mode

本文探讨了如何通过简单的网站摘要请求劫持Claude Code Opus 5的自动模式,实现代码执行,攻击成功率高达60-80%。尽管Anthropic的第三方评估显示该模式提示注入攻击成功率为0.00%,但自动模式并不能替代隔离环境运行。

正文

文章核心内容重述

本文探讨了如何通过一个简单的网站摘要请求,成功劫持 Claude Code Opus 5 的“自动模式”(Auto Mode),并实现代码执行。在小型样本测试中,攻击成功率高达 60% 至 80%。

关键背景:Anthropic 委托第三方进行的评估显示,Opus 5 在自动模式下对提示注入攻击的成功率为 0.00%。然而,本文作者通过精心设计的攻击链,证明了这一结论的局限性。

攻击链步骤: 1. 诱导切换工具:首先,通过返回“415 不支持的媒体类型”错误,诱使 Claude 从默认的 WebFetch 工具切换到使用 curl 命令。 2. 下载恶意压缩包:curl 命令被重定向到一个包含特殊编码文件的 ZIP 压缩包,其中还包含一个原生解码器和一个名为 struct.py 的文件。 3. 模型自行编写不安全代码:Claude 拒绝运行压缩包内的原生解码器,但决定自己编写一个 Python 解码器。这正是攻击的关键——模型信任自己编写的代码。 4. 模块劫持:Claude 在解压后的目录中运行其自写的解码器。该目录下的恶意 struct.py 文件会遮蔽 Python 标准库中的同名模块。当解码器导入 base64 模块时,会触发加载这个恶意的 struct.py。 5. 执行恶意负载:被加载的 struct.py 会下载并执行远程的恶意负载,建立 C2 控制通道,并执行如打开计算器等可见操作。

关键发现: - 自动模式的局限性:自动模式的安全分类器并非万无一失。它可能允许创建恶意进程,但随后却阻止了 Claude 试图清理该进程的命令,导致安全机制本身成为问题的一部分。 - 与官方宣传的矛盾:Anthropic 宣称提示注入“基本解决”,但作者的实际演示和 Anthropic 将此类攻击定性为“设计之内”的回应,形成了矛盾。作者认为,0.00% 的基准测试结果仅针对特定场景,并不能代表所有攻击链。 - 核心建议:不要依赖模型输出或自动模式作为安全边界。沙箱隔离(如容器、虚拟机)和网络出口控制是运行无监督编码代理的必备安全措施。

结论:虽然针对前沿模型的简单提示注入攻击已大幅减少,但将其称为“已解决”具有误导性。现代攻击链结合了技术技巧(如模块劫持)和模型自身的行为模式,能够有效绕过安全分类器。安全防御必须建立在“不信任模型输出”的原则之上。

评论

以下是对评论内容的总结,涵盖主要观点、论据及不同立场,并保留关键引用:

1. 攻击手法新颖且令人担忧

  • 观点:攻击设计巧妙,利用Claude的特定行为模式(如偏好使用python -c)和Python模块劫持(struct.py)实现。
  • 论据:攻击者通过解压恶意文件,使Claude在受控目录中运行解码脚本,从而劫持标准库。
  • 关键引用:
    • “Interesting attack, very nicely designed.” (comboy)
    • “What's interesting to me about this is that it targets Claude's specific tics.” (colinmarc)

2. 对“自动模式”的批评与安全风险

  • 观点:自动模式(Auto Mode)默认开启且难以关闭,可能阻碍清理恶意软件,存在误导性营销。
  • 论据:评论指出自动模式会拒绝清理命令,且用户难以信任其安全性。
  • 关键引用:
    • “This default-to-auto-mode and the misleading marketing is begging for a class action.” (Phemist)
    • “Auto Mode even can actively prevent the clean-up!” (Phemist)

3. 对攻击分类的争议

  • 观点:部分评论认为这不是“提示注入”,而是利用Claude执行代码的漏洞,更接近木马或代码劫持。
  • 论据:攻击未改变Claude的意图,而是通过恶意文件操纵其执行流程。
  • 关键引用:
    • “I would not really call this a prompt injection attack... It's more a trojan.” (rcxdude)
    • “This is not prompt injection... At no point was the intent of the agent hijacked.” (too_pricey)

4. 对安全防御的质疑

  • 观点:Anthropic声称分层防御可降低攻击成功率,但实际测试显示成功率高达80%,被指为“蛇油”。
  • 论据:评论者通过小样本测试反驳了官方说法。
  • 关键引用:
    • “Snake oil salesman misrepresents the data.” (bewareofscams)
    • “I got attack success rates up to 80% using a small sample size.” (bewareofscams)

5. 对系统设计缺陷的批评

  • 观点:Python标准库被同一目录下的文件劫持是设计缺陷,不应默认允许。
  • 论据:评论者指出该行为导致意外崩溃,且缺乏安全防护。
  • 关键引用:
    • “That definitely doesn't seem to me like how that should be designed.” (andai)
    • “magically silently importing everything you see and overriding basic functionality.” (andai)

6. 对攻击潜力的扩展思考

  • 观点:攻击可被用于更复杂的场景,如通过Hugging Face或Twitter控制Claude进行协同攻击。
  • 论据:评论者认为窃取本地机密相对容易,应追求更高目标。
  • 关键引用:
    • “I wonder how hard it would be to get claude agents to participate in a Hugging Face style coordinated attack.” (DarmokTanagra)
    • “Getting claude to exfiltrate secrets from local machines seems easy enough.” (DarmokTanagra)

总结

评论普遍认可攻击的巧妙性,但对其分类(提示注入 vs. 代码劫持)存在分歧。多数评论批评自动模式的安全风险及Python模块劫持的设计缺陷,并对Anthropic的防御声明表示怀疑。部分评论者呼吁更严格的权限控制(如禁用网络访问),并探索攻击的更大潜力。