This appears to be a large and complex text snippet, likely containing code or data in various formats. It is not possible to provide a meaningful translation of this content without more context or information about its purpose.
If you can provide additional details or clarify what part of the text you would like translated, I would be happy to assist you further.
尽管Meta的这一应用规模在历史上是前所未有的,但这种策略实际上沿袭了Mozilla首席工程师Andrew Lilley Brinker所开辟的道路。Brinker在Bluesky平台上曾提到:
大家可能都知道Mozilla为Rust语言的早期开发提供了资金支持,但或许不知道,早在2016年,Firefox中第一个被使用的Rust组件其实就是一款MP4解析器!
这一举措正是为了应对在处理不可信的二进制数据时,C++在处理媒体文件时所固有的安全风险。
WhatsApp并没有采取逐步推进的方式来实现这一目标。他们完全是同步开发了Rust版本和C++代码。团队通过差异化模糊测试以及全面的集成测试来验证两种版本之间的兼容性,之后才正式进行切换。WhatsApp的软件工程师Daniel Sommermann与Baojun Wang曾解释说,这种策略使得应用程序的性能得到了提升,同时内存使用量也有所减少。
二进制文件的大小确实是一个值得关注的问题。虽然那篇博客文章提到Rust的标准库最初会导致文件大小增加,但并没有详细说明解决办法。在Hacker News的一个讨论帖中,Daniel Sommermann解释了他们所采取的措施:
我们投入了大量精力优化构建系统,从而逐步降低了二进制文件的大小。虽然一开始,标准库的使用确实会使文件大小增加大约200千字节,但后来我们成功改用了Buck2构建工具,这大大帮助我们减少了文件大小——比如通过改进静态链接技术以及使用最新的clang工具链优化措施。
如今,Rust标准库的功能已经远远超出了简单的格式验证范畴。WhatsApp将这套扩展后的安全系统称为“Kaleidoscope”。它能够检测出各种可疑的行为:例如包含嵌入文件或脚本的PDF文件、文件扩展名与实际内容不符的情况,以及伪装成图片的可执行文件等。一旦发现这些危险行为,系统就会在用户界面中发出警告。虽然这些检查并不能阻止所有的攻击,但它们确实能有效阻止许多常见的恶意利用手段。
Meta表示,这是他们所知范围内,在终端设备上规模最大的一次Rust库应用部署。每个月,通过WhatsApp、Messenger和Instagram,这些代码都会被推送给数十亿台设备——这些设备涵盖了手机、笔记本电脑、台式机、智能手表以及各种操作系统的网页浏览器。
在Hacker News的讨论帖中,还有其他人进一步探讨了相关的技术细节。例如Cong-or就指出了二进制文件大小为何如此重要。
另一位行业专家也谈到了这种测试方法:
在这种重构过程中,最困难的部分通常在于确保旧版本解析器与新代码之间的兼容性,而非Rust语言本身的实现。
WhatsApp的安全策略主要涵盖三个方面:尽可能减少攻击面;通过控制流完整性保护以及使用加固版的分配函数来加强剩余的C和C++代码的安全性;对于新开发的代码,则优先使用内存安全型语言。从事C和C++开发的工程师会接受专门的安全培训,他们的代码也会经过自动分析。对于出现的任何问题,该公司都会设定严格的截止时间来进行处理。
Meta公司的安全团队目前正在推动公司内部其他部门采用Rust语言,预计未来几年这一趋势将会加速发展。这种趋势在整个行业范围内都在发生。谷歌在2025年11月的安全博客中提到,在Android系统中使用Rust语言后,内存安全相关漏洞的比例从2019年的76%下降到了2025年底的20%以下;该公司将这一变化直接归因于用Rust替代了原有的C和C++代码。Chrome浏览器也为字体渲染和图像解码功能提供了基于Rust的库,而微软从2023年开始也一直在使用Rust语言重新编写Windows系统的某些组件。