

以“安全优先”定位的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端点数据等,2026世界杯数据统计均可被听说至互联网上的大肆处事器。数据通过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)