

以“安全优先”定位的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沙箱上都未能作念到。
开云kaiyun中国官网入口“沙箱最坏的收尾不是不容了什么,而是给了东说念主们一种造作的安全感。发布一个有缺欠的沙箱,比不发布沙箱更晦气。”——关傲男暗示。
(本文首发钛媒体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)

备案号: