WebAssembly 的沙箱为何能被绕过:从 V8 逃逸到 Spectre 攻击的技术全景

WebAssembly 从诞生之初就被设计为一种安全的执行环境。官方文档明确宣称它提供"沙箱隔离、内存安全、控制流完整性"三大安全保证。然而,从2020年USENIX Security的开创性研究到2024-2025年的最新学术论文,一系列研究揭示了WebAssembly安全边界的真实状况:它的沙箱不是金钟罩,而是一个充满漏洞的隔离层。 ...

16 min · 7653 words
Blog Cover

WebAssembly运行时系统:从沙箱隔离到分层编译的底层实现

2017年,WebAssembly正式成为W3C标准。七年后的今天,它已经从"浏览器的第四种语言"演变为跨平台运行时基础设施的核心。但WebAssembly的真正价值远不止于"比JavaScript快"——它的运行时系统设计蕴含着计算机科学中安全、性能、可移植性之间的精妙权衡。 ...

14 min · 6797 words

Web平台多线程的十五年突围:从Web Workers到SharedArrayBuffer的安全博弈

JavaScript从诞生之初就背负着单线程的命运。这个设计决策在1995年看起来理所当然——浏览器只需要处理简单的表单验证和DOM操作。但三十年后,当Web应用需要在浏览器中运行视频编解码、物理模拟、甚至机器学习模型时,单线程的限制就成了一个无法回避的架构瓶颈。 ...

10 min · 4966 words

WebAssembly为何没能取代JavaScript:从沙箱隔离到DOM边界的性能博弈

2017年3月,WebAssembly在所有主流浏览器中落地。一时间,“JavaScript已死"的论调甚嚣尘上。毕竟,一个能让C++代码在浏览器中以接近原生速度运行的二进制格式,听起来像是动态语言的终结者。 ...

13 min · 6284 words

WebAssembly十年:从浏览器的第四种语言到「隐形」的基础设施

2017年6月,Figma工程团队在官方博客发布了一组测试数据:将C++渲染引擎从asm.js迁移到WebAssembly后,大型设计文档的加载时间缩短了3倍。这是WebAssembly早期最有力的一次「实力展示」,也让很多人相信这项技术将彻底改变Web开发的格局。 ...

9 min · 4410 words