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. 權利:您可以隨時限制,恢復和刪除您的信息。