Chromium 项目将支持使用 Rust 库

铬

, Chromium 项目将支持在 Chromium 中使用第三方 C++ Rust 库

谷歌揭幕 最近有消息称 Chromium 项目背后的团队 正在努力添加 Rust 工具链 从生产到您的构建系统。

对于那些还不知道 Rust 的人来说,他们应该牢记它,因为这种由 Mozilla 开发的专门用于编写浏览器的编程语言已经开始渗透并被许多重要项目所接受,其中之一就是Rust 内核。Linux。

这将使我们能够在明年将 Rust 代码包含在 Chrome 二进制文件中。 目标是从小处着手,并明确期望哪些图书馆准备就绪后会被考虑。

因此,Chromium 最终也开始推出该技术是理所当然的。 对于谷歌来说,在 Chromium 中引入 Rust 将实现提供一种更简单、更安全的方式来遵守两个规则的目标,即加快开发速度和提高 Chrome 的安全性,除了提高安全性、消除内存错误之外并减少代码中的错误密度。

我们知道 C++ 和 Rust 可以很好地协同工作,这要归功于 cxx、autocxx bindgen、cbindgen、diplomat 和(实验性的)crubit 等工具。 但是,也有局限性。 我们可以预期这些限制的形状会随着时间的推移随着新的或改进的工具而改变,但这里的决定和描述是基于当前的技术状态。

决定 被视为防止出现内存错误的举措的一部分 在 Chrome 代码库中。 根据两年前提供的统计数据,Chromium 中 70% 的关键和危险安全问题是由于内存错误造成的。

Rust语言的使用,侧重于安全的内存管理 并提供自动内存管理,将降低因内存区域释放后访问和缓冲区溢出等问题导致的漏洞风险。

将 Rust 引入 Chromium 的目标是提供一种更简单(无 IPC)和更安全(通常 C++ 不那么复杂,没有沙盒内存安全漏洞)的方式来满足二元法则,以加快开发速度(编写更少的代码) ,更少的设计文档,更少的安全补丁)和提高 Chrome 的安全性(内存中没有安全漏洞的更多代码行,更低的代码漏洞密度)。 此外,该公司有信心我们可以使用第三方 Rust 库来实现这一目标。

2022 年初,Chromium 团队已经对 Rust 进行了实验 几个月后得出结论 该语言最初不适合作为 C++ 的替代品来替代具有必须与现有代码一起工作的异步代码的复杂任务。

因此, 最初计划在 Chromium 中使用 Rust 显然受到限制. 一方面,互操作只会以一种方式进行:从 C++ 到 Rust。 另一方面,最初只允许使用第三方库。 它们作为独立组件工作,并且独立于 Chromium 的内部组件。 图书馆应该为您的特定任务提供一个简单的 API。 Chromium 团队随后将检查这些库。

最后值得一提的是 在 Chromium 中添加支持将允许 Rust 代码移植到 Chrome 二进制文件中 从明年开始。 该决定主要着眼于安全问题:Rust 在写入内存时提供比 C++ 更高的安全性,并禁止潜在的有害行为,例如读取未写入的变量、访问超出数组设置的限制、取消引用 null 或无效指针、使用重写迭代器.

如果您有兴趣了解更多,可以查阅详情 在下面的链接中。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。