Deathray漏洞:一个网页竟能冻结你的Mac

一篇技术博客披露「Deathray」缺陷:普通网页可通过耗尽系统资源让Mac完全冻结,挑战浏览器沙箱安全边界。
近日技术博客披露了名为「Deathray」的浏览器行为缺陷,攻击者可通过构造恶意网页,在极短时间内耗尽Mac的CPU、内存或GPU资源,导致整台设备无响应直至需要强制重启。该问题的严重性在于它突破了浏览器沙箱的边界,资源耗尽从浏览器进程层面外溢至macOS系统层面,使鼠标键盘和图形界面全部失效。此议题在Hacker News上获得259赞与182条讨论,折射出开发者社区对「拒绝服务类漏洞长期被低优先级对待」的集体焦虑。文章指出,浏览器厂商与操作系统团队在资源治理边界上的责任划分模糊,是此类问题反复出现的深层原因,随着Web平台能力持续扩张,这一矛盾将更加突出。
一个网页就能让Mac彻底卡死
近日,一篇发表于 auberon.xyz 的技术博客《The Deathray: A simple way for an untrusted site to freeze a Mac》在 Hacker News 上引发热议,短时间内获得 259 个点赞与 182 条评论。文章披露了一个被作者戏称为「Deathray(死光)」的浏览器行为缺陷:一个不受信任的网站,只需通过相对简单的手段,就能让一台 Mac 陷入完全无响应的冻结状态。
这类问题之所以值得关注,是因为它突破了「打开网页应当是安全操作」的基本假设。用户通常认为,访问一个陌生网页最多遇到广告或钓鱼提示,而不会导致整台设备卡死到需要强制重启的程度。当浏览器沙箱之外的系统资源被恶意页面耗尽时,安全边界的意义就被削弱了。

「死光」是如何炼成的
根据博客描述,这种攻击的核心思路在于让浏览器或底层系统在极短时间内被迫处理海量的渲染或计算任务,从而耗尽 CPU、内存或图形资源,最终拖垮整个操作系统而非仅仅是当前标签页。
值得强调的是,现代浏览器本应通过进程隔离、标签页沙箱和资源限制来防止单个页面「拖死」整机。理想情况下,一个失控的网页最多让对应的标签页崩溃,用户关闭它即可恢复。但「Deathray」揭示的正是这套防护在特定条件下的失效——问题不再局限于浏览器进程内部,而是外溢到了 macOS 系统层面,导致鼠标、键盘乃至整个图形界面都失去响应。
这也是该话题在技术社区引发共鸣的关键:它触及了浏览器厂商与操作系统在资源治理上的责任边界。到底应该由浏览器主动限制单页面的资源占用,还是由系统层面对失控进程做更严格的隔离与降级,长期以来存在争论。
进程隔离是现代浏览器防止单标签页崩溃波及全局的核心机制。以 Chrome 为代表的多进程架构将每个标签页、扩展和渲染器放入独立进程,配合操作系统的沙箱(Sandbox)限制其系统调用权限,理论上单个页面的崩溃或资源耗尽不会蔓延到宿主系统。Safari 在 macOS 上同样使用类似架构,并通过 XPC 服务进一步隔离。然而,「资源隔离」与「进程隔离」是两个不同层面的问题:进程崩溃可以被优雅地回收,但若某个渲染进程在崩溃之前就已占满系统 GPU 命令队列或触发内核态死锁,操作系统本身也可能陷入无法调度的境地。这正是「Deathray」区别于普通「标签页崩溃」的关键所在——它利用的是系统资源被耗尽后调度器无法正常运转的边缘状态,而非简单地让浏览器进程占满内存。
为何这类问题反复出现
浏览器作为如今最复杂的应用之一,承载了 JavaScript 执行、图形渲染、多媒体解码、GPU 加速等大量能力。每一项能力在带来强大功能的同时,也开辟了新的资源滥用途径。
历史上,类似「网页拖垮设备」的案例并不鲜见:无限循环的脚本、超大 Canvas 绘制、异常的动画帧请求、以及针对 GPU 的密集调用,都曾被用来制造拒绝服务式的体验破坏。这类问题往往不属于传统意义上「窃取数据」的高危漏洞,因此在优先级上容易被低估,但它们对普通用户的直接影响却相当直观——一台好端端的电脑突然「死机」。
Hacker News 上的高热度讨论,某种程度上反映了开发者群体对这一现象的复杂态度:一方面承认这是长期存在的顽疾,另一方面也在追问厂商为何迟迟未能建立起足够健壮的资源熔断机制。
「资源熔断机制」(Resource Circuit Breaker)是指浏览器或操作系统在检测到某一进程或页面的资源消耗超过阈值时,主动介入并限速、挂起或终止该进程的能力,类比于电路中保险丝的作用。Chrome 的「大内存标签页丢弃」和 Safari 的「后台标签页挂起」是有限度的实现,但针对 CPU 密集型或 GPU 密集型攻击的熔断至今仍不完善。根本原因在于:浏览器需要为合法的高性能应用(如 WebGL 游戏、视频编辑)留出足够的资源上限,任何过于激进的熔断阈值都可能误伤正常页面,导致厂商在功能体验与安全边界之间长期处于两难境地。这也解释了为何类似问题在不同浏览器、不同操作系统上周期性复现,而非一次性被彻底修复。
对用户与开发者的启示
对普通用户而言,最实际的防护仍然是保持系统与浏览器更新到最新版本,因为厂商会在补丁中逐步收紧对失控页面的资源限制。遇到网页导致的严重卡顿时,尽量通过强制退出浏览器进程而非直接断电重启,以减少数据损失风险。
对开发者和安全研究者来说,「Deathray」提醒我们:拒绝服务(DoS)类问题不应因为「不窃取数据」而被轻视。一个可被任意网站触发的整机冻结,本质上是对用户设备可用性的攻击,同样属于需要认真对待的安全议题。
从更宏观的视角看,这一案例再次凸显了浏览器沙箱、进程隔离与操作系统资源调度之间协同的重要性。随着 Web 平台能力持续扩张,如何在功能开放性与系统稳定性之间取得平衡,将是浏览器厂商和操作系统团队需要长期面对的课题。
注:由于本文基于原始博客摘要与社区讨论整理,具体的技术复现细节与受影响的系统版本,建议读者查阅原文(auberon.xyz)以获取权威信息。
相关推荐

Treebar:Mac菜单栏管理Git工作树,一眼掌控所有AI编程Agent
Treebar是一款macOS菜单栏应用,专为AI编程多工作树场景设计。它将所有Git Worktree状态统一展示在MacBook刘海区域,让开发者实时监控Codex等AI Agent的工作进度,无需切换终端即可掌握全局。即将开源核心代码。

苹果确认Hide My Email域名永久保留,用户隐私获长期保障
苹果公司公开承诺iCloud+ Hide My Email功能使用的@icloud.com域名将永久保留,不会弃用或迁移。本文解析域名稳定性对邮箱转发隐私工具的关键意义,以及对用户账户安全的底层保障。

终端正在拖慢你:多任务时代的效率反思
终端是程序员的信仰工具,但在多任务并行的现代开发场景中,它的线性设计正在成为效率瓶颈。本文分析终端的心智负担模型为何在第六个任务时崩溃,以及开发者该如何重新评估工具选择。