k8凯发天生赢家

新闻中心 新闻中心

能轻易窃取数据!这款热点 AI 编程工具曝重大隐患

以“安全优先”定位的Anthropic

作者:黄佑佳
颁布功夫:2026-06-03 12:54:28
阅读量:468

能轻易窃取数据!这款热点 AI 编程工具曝重大隐患

以“安全优先”定位的Anthropic ,其主题开发工具Claude Code的网络沙箱在从前五个月里从未真正安全过。

独立安全钻研员关傲男(Aonan Guan)5月20日颁布最新钻研 ,披露Claude Code网络沙箱存在第二个齐全绕过缝隙——一个SOCKS5和谈中的空字节注入攻击 ,能够让沙箱内的过程接见用户战术明确不容的肆意主机。这意味着从2025年10月沙箱职能上线至今 ,约5.5个月、130个颁布版本 ,Claude Code的每一个版本都存在可被齐全绕过的安全缺点。这已是统一钻研员对统一路防线的第二次齐全突破。

Anthropic对此的回应是寡言:没有安全公告 ,没有CVE编号 ,没有效户通知。缝隙在4月1日的版本中静默建复 ,更新日志未提及任何安全有关内容。也就是说 ,一位仍在运行旧版本的用户 ,齐全无从通达自己配置的沙箱从一路头就形同虚设。

统一路门的两次钥匙

Claude Code是Anthropic于2025岁首推出的AI编程副手 ,定位是“驻留在终端中的AI工程师”。与传统的谈天式代码补全分歧 ,Claude Code占有对用户代码库的读写权限和号令执行能力 ,可能自主实现导航代码、编纂文件、运行测试等一系列操作。这种深度染指也意味着极高的安全风险——若是模型被提醒词注入攻击劫持 ,攻击者将获得等同用户终端权限的能力 ,蕴含读取本地环境变量、执行肆意系统号令、接见内部网络资源等。

为了平衡安全与效能 ,Anthropic在2025年10月引入了网络沙箱职能(v2.0.24) ,允许用户通过配置文件设定域名白名单 ,限度AI执行环境的表部网络接见。例如配置 allowedDomains: [“*.google.com”] 后 ,Claude Code只能接见Google及其子域名 ,其余流量一律阻断。官方文档明确承诺:“空数组蹬宗不容所有网络接见。”

这一机造由一个SOCKS5代理实现:底层沙箱运行时(@anthropic-ai/sandbox-runtime)启动代理服务器 ,沙箱内的过程不直接提议网络衔接 ,而是通过代理转发 ,代理凭据用户在 settings.json 中配置的白名单执行域名过滤。操作系统层面的沙箱机造——macOS的sandbox-exec、Linux的bubblewrap——正确地将Agent限度在本地回环地址 ,出站决策则齐全委托给这个SOCKS5代理。

Anthropic官方博客展示的Claude Code沙箱架构图——用户号令经由SOCKS/HTTP代理过滤后达到沙箱 ,沙箱内的文件操作与网络接见受严格权限管控

问题就出在这个代理的实现上。两次独立的安全钻研均证明 ,它能够被齐全绕过。

功夫线露出出更深层的问题:2025年11月26日颁布的v2.0.55建复了第一次绕过 ,但第二次绕过从沙箱上线的第一天起就已存在 ,该版本依然携带。两个缝隙在功夫线上存在交叉 ,从沙箱职能上线的第一天到最后一个缝隙被建复 ,没有任何版本是安全的。Anthropic在官方博客中宣称沙箱“确保即便发生提醒词注入 ,影响也被齐全隔离” ,但这两次绕过的存在直接颠覆了这一承诺。

“一次表部汇报是命运。两次是执行质量问题。”——关傲男钻研汇报暗示。

一个空字节的齐全绕过

第二次绕过的技术道理并不复杂 ,但攻击链条的齐全性值得关注。

用户配置了网络白名单 ,例如只允许接见 *.google.com。Claude Code的SOCKS5代理在收到衔接要求时 ,用JavaScript的 endsWith() 步骤对主机名做后缀匹配。攻击者只需在主机名中插入一个空字节——机关形如attacker-host.com\x00.google.com 的字符串。JavaScript将空字节视为通常UTF-16字符 ,endsWith(“.google.com”) 返回 true ,代理放行。但统一字符串被传递到底层C说话函数 getaddrinfo() 进行DNS解析时 ,空字节被视为字符串终止符 ,现实解析的是 attacker-host.com。同样的字节 ,两层代码给出了两种解读。过滤器以为你在接见Google ,DNS解析器知路你在衔接攻击者的服务器。

这属于经典的“解析器差距”攻击 ,与2005年发现的HTTP要求走私属统一技术类别(CWE-158 / CWE-436)。其性质是当统一条数据流经两个拥有分歧语义诠释规定的组件时 ,攻击者能够利用这种差距 ,让一层组件做出“安全”的判断 ,同时让另一层组件执杏装危险”的操作。此类缝隙在网络安全领域反复出现 ,关键教训始终一样:任何逾越信赖天堑的字符串传递 ,都必须经过严格的规范化与验证 ,而非信赖上层已经做过查抄。

关傲男使用两个最幼化的Node.js剧本实现了缝隙复现:节造剧本使用通常主机名提议SOCKS5衔接 ,返回BLOCKED;攻击剧本在主机名中注入空字节 ,返回 BYPASSED rep=0x00——后者意味着代理已成功成立衔接 ,出站通路被打开。Claude Code自身确认了这一了局。

Claude Code v2.1.86中四个红色标注步骤的齐全缝隙复现——战术确认、通常拦截、空字节绕过、Claude自身确认

而这一沙箱绕过与关傲男4月披露的“评论与节造”提醒词注入攻击串联后 ,组成了齐全的攻击链(拜见:三层防御依然不够 ,一条PR标题就能偷走你的API密钥:AI Agent安全裂缝再现)。“评论与节造”钻研已证明 ,三家AI编程工具均存在提醒词注入攻击面 ,但攻击入口各不一样:Claude Code仅通过PR标题 ,Gemini CLI通过Issue评论或正文 ,Copilot Agent则利用HTML注解实现荫蔽注入。以Claude Code为例 ,其PR标题会被直接拼接至提醒词模板 ,未经过滤或转义 ,模型无法分辨人类意图与恶意注入。

将两者组合——暗藏指令让Agent在沙箱内运行攻击代码 ,空字节注入突破网络关闭——环境变量中的API密钥、AWS凭证、GitHub令牌、内部API端点数据等 ,均可被表传至互联网上的肆意服务器。数据通过SOCKS5代理自身流出 ,攻击全程无需表部服务器中转 ,而该代理刚好是用户信赖为安全天堑的组件。攻击者甚至不必要仓库写入权限 ,只需提交一个公开Issue即可。人类审查者在GitHub渲染视图中看到的是正常合作要求 ,AI Agent解析的却是齐全恶意源码。

连Claude都认可:缝隙是真实的

这次披露中的一个关键细节来自Claude Code自身。关傲男直接将缝隙复现代码交给Claude Code运行 ,要求其做出技术判断。Claude Code在执行了节造测试(通常主机名被拦截)和攻击测试(空字节主机名绕过拦截)后 ,给出了明确结论:

“This is a real bypass of the network sandbox filter, not just a test artifact. You should report this to Anthropic at https://github.com/anthropics/claude-code/issues.”(“这是对网络沙箱过滤器的真实绕过 ,不是测试假象。你应该向Anthropic汇报这个问题。”)

被测试的产品自己确认了缝隙的真实性和严重性 ,甚至自动给出了上报蹊径。这个细节被关傲男齐全纪录在钻研汇报中 ,并成为The Register报路标题标起源——“Even Claude agrees hole in its sandbox was real and dangerous”(连Claude都认同 ,其沙箱中的缝隙是真实且危险的)。

关傲男钻研封面——Claude Code被展示自身缝隙后认可“这是对网络沙箱过滤器的真实绕过” ,红色框标注关键确认语句

Anthropic的回应与五个月的寡言

缝隙自身令人忧郁 ,但Anthropic的处置方式更值得行业审视。

关傲男于2026年4月初通过HackerOne缝隙赏金打算(汇报编号#3646509)向Anthropic提交了第二次沙箱绕过的具体汇报。Anthropic的初步回应是:

“Thank you for your report. After reviewing this submission, we've determined it's a duplicate of an existing internal report we're already tracking.”(“感激您的汇报。经审核 ,我们认定该提交与我们已在追踪的寂仔内部汇报反复。”)

汇报随即被关关。当关傲男追问CVE编号打算时 ,Anthropic于4月7日回复:

“We have not yet decided whether a CVE will be published for this issue and can't share a timeline on that decision.”(“我们尚未决定是否为该问题颁布CVE编号 ,也无法提供有关决定的功夫表。”)

尔后缝隙在v2.1.90版本中静默建复。没有安全公告 ,没有CVE编号 ,Claude Code安全建议页面无任何条款 ,更新日志未提及任何安全有关描述。一个从沙箱上线第一天就存在、持续5.5个月、覆盖约130个版本的齐全绕过 ,对用户而言似乎从未发生过。

这一处置模式并非初次出现。第一次绕过(CVE-2025-66479)的应对方式险些千篇一律:Anthropic将CVE仅分配给底层库 @anthropic-ai/sandbox-runtime(CVSS评分仅1.8 ,“Low”) ,而非面向用户的产品Claude Code;更新日志中写的是“Fixed proxy DNS resolution”(建复了代理DNS解析) ,未提及安全缝隙。关傲男在钻研汇报中对此写路:“当React Server Components出现严重缝隙时 ,React和Next.js各自获得了独立的CVE ,Meta和Vercel都颁布了安全公告 ,两个社区都得到了充分奉告。Anthropic选择了分歧的做法。”截至目前 ,搜索“Claude Code Sandbox CVE”依然无法找到任何官方安全公告。

在应对凭证窃取问题时 ,Anthropic选择封禁ps号令 ,但黑名单思路先天不及——封禁一个号令 ,攻击者有无数代替蹊径。正确做法是明确申明Agent只必要哪些工具。而在“评论与节造”钻研中 ,Anthropic虽将缝隙评级提升至CVSS 9.4(Critical级别)并转入私有赏金打算 ,讲话人却暗示“该工具在设计上并未针对提醒词注入进行加固”。厂商默认信赖模型自身的安全能力 ,却在系统架构层面不足纵深防御;当缝隙露出出这种缺失时 ,“设计局限”便成了一个方便的分类——它既认可了问题 ,又在某种水平上免去了颁布安全公告的使命。

更宽泛的行业图景是 ,同样的问题不止于Anthropic一家。4月披露的“评论与节造”钻研中 ,Google的Gemini CLI和微软GitHub的Copilot Agent均被证实存在统一攻击面 ,三家公司均确认并建复 ,但没有一家颁布安全公告或CVE编号。Anthropic支付100美元赏金 ,Google支付1337美元 ,GitHub最初以“已知问题 ,无法复现”关关汇报 ,在收到逆向工程证据后以“信息性”标签结案 ,发放500美元。计算1937美元——而这三款产品覆盖了《财富》百强中绝大无数企业。

虚伪的安全感比没有安全措施更具风险。没有沙箱的用户知路自己没有天堑;占有破损沙箱的用户以为自己有。一个运行Claude Code并配置了域名白名单的团队 ,在5.5个月里对风险绝不知情 ,升级后看到更新日志只会得出结论:沙箱一向在正常工作。此表 ,当缝隙被披露后 ,没有安全公告意味着用户无法判断自己是否曾受到影响 ,也不足回溯审计的凭据。

面对这一近况 ,安全社区起头形成共识:不能将信赖单点化地押注在厂商的沙箱实现上。Claude Code的SOCKS5代理构建在一个仅10个GitHub Star、最后提交停顿在2024年6月的第三方npm包之上 ,安全天堑横跨JavaScript和C两种运行时 ,却在信赖接壤处短缺最根基的规范化处置。建复补丁中增长的isValidHost()函数——掌管回绝空字节、百分号编码、CRLF等犯法字符——本应从沙箱上线第一天就存在。关傲男提出了一个求实的防御框架——将AI Agent视为必要遵循最幼权限准则的超等员工 ,主题在于多层防御:

安全的名誉成立在每一次披露和每一个补丁的通明度之上 ,而非品牌叙事。当用户基于信赖将凭证交给Agent处置时 ,厂商有使命确保防线有效 ,也有使命在失效时实时奉告。这两点 ,Anthropic在Claude Code沙箱上都未能做到。

“沙箱最坏的了局不是阻止了什么 ,而是给了人们一种虚伪的安全感。颁布一个有缝隙的沙箱 ,比不颁布沙箱更糟糕。”——关傲男暗示。

(本文首发钛媒体APP ,作者 | 硅谷Tech_news ,编纂 | 焦燕)

参考资料:

1. oddguan.com — Second Time, Same Sandbox: Another Anthropic Claude Code Network Sandbox Bypass Enables Data Exfiltration(Aonan Guan, 2026.05.20)

2. The Register — Even Claude agrees hole in its sandbox was real and dangerous(2026.05.20)

 

文章点评

未查问到任何数据!

颁发评论

◎迎接参加会商 ,请在这里颁发您的见解、互换您的概想。

最新文章

热点文章

随机推荐

【网站地图】