
攻击链复盘:从 " 总结网站 " 到任意代码执行
Rehberger 向 Claude Code 发出简单指令:" 总结这个网站。" 目标是一个伪装成语言理论笔记集合的站点。在几分钟内,运行于自动模式的 Opus 5 完成了一系列高风险操作:下载 ZIP 文件、编写 Python 解码器、导入被污染的模块,并最终执行了由攻击者控制的代码。
攻击始于一个精心构造的 HTTP 303 重定向。当 Claude 的首选工具 WebFetch 返回 " 不支持的媒体类型 " 错误时,模型自主决定回退使用 curl 直接获取文件。ZIP 包内包含 README、二进制文件及关键的 struct.py 文件。
出于安全训练,模型拒绝直接运行原生二进制文件,转而编写 Python 脚本来解码数据。然而,由于当前工作目录位于 Python 模块搜索路径首位,攻击者提供的恶意 struct.py 遮蔽了标准库中的同名模块。在导入过程中,混淆表达式被执行,衍生出子进程下载第二阶段载荷,并在演示中成功打开了 macOS 计算器应用以证明执行成功。
更危险的变体中,被污染的模块甚至启动了无头 Claude Code 会话。嵌套代理继承了工具访问权限,能够执行 whoami、uname 等系统命令,并在主文件夹外写入文件。在小规模测试中,此类攻击的成功率在 60% 到 80% 之间。
官方回应:符合设计,暂无修复计划
这一发现与 Anthropic 此前的宣传形成鲜明对比。今年 8 月中旬,Auto Mode 作为 Claude Code 的默认设置推出,旨在通过安全分类器取代频繁的权限确认。Anthropic 委托 Trajectory Labs 进行的基准测试显示,Opus 5 在 72 个预设间接提示注入场景中的攻击成功率为 0.00%。
然而,Rehberger 的攻击链超出了该测试集范围。它并非通过经典的提示注入(如 " 忽略之前指令 "),而是串联起模型自主采取的合理步骤——从处理错误到编写代码——从而绕过防御。分类器仅评估剥离上下文后的简短推理轨迹,未能识别整体攻击意图。
据媒体报道,Anthropic 在收到报告后将此工单标记为 " 信息性备注 ",并表示 Auto Mode 是由 " 尽力而为 " 的分类器支持的便捷功能,而非安全保证。公司强调,真正的安全边界在于操作系统隔离和网络出口控制,用户不应信任模型输出。截至目前,Anthropic 尚未发布相关补丁,也没有计划进行修复。
行业警示:基准测试的局限与隔离的重要性
此次事件暴露了基于狭窄测试集的基准测试可能带来的虚假安全感。真实的对手不会局限于供应商预期的场景,而是通过组合普通行为构建漏洞利用链。随着编码代理更深入地融入开发者工作流,Pro、Max 和 Team 用户已在 8 月中旬迎来 Auto Mode 成为新常态,但自主性带来的风险也随之增加。
Rehberger 指出,在某些测试中,Claude 确实表现出自我防御能力,如静态分析归档文件或使用隔离标志运行 Python。但攻击链巧妙地引导模型走上了 " 热心帮助 " 与 " 安全训练 " 冲突的路径,甚至在某些情况下,阻止恶意软件的安全机制也阻止了其清理命令。
安全团队长期警告,代理系统需要超越分类器的沙箱环境。Rehberger 建议,开发者应在隔离环境中运行代理,监控其行为,并将模型输出视为不可信。对于使用 Claude Code 的团队而言,任何指向外部归档文件、研究论文或数据集的链接,若网站受控,均可能成为入口点。在平衡速度与安全的压力下,操作系统层面的隔离而非单纯的模型智能,才是决定性的控制手段。
【星途科讯 图文丨赵晶 首发于 ZAKER 科技,转载请注明出处】