Google在GitHub上開源對Rust Crate的審查結果,開發者可以在專案中匯入這些審查結果,以證明所使用Rust crate的屬性。在Rust程式語言中,Crate是一種封裝程式碼的單位,其包含Rust程式碼和其他相關資源,可以被編譯成執行檔或是函式庫。

Crate可以在不同的專案重用,Rust社群中名為Crates.io的註冊表服務,便是供開發者發布自己所開發的Crate,同時也能下載使用其他人所開發的Crate。但Google提到,所有第三方程式碼都帶有風險,因此Google內部專案開始使用新的Crate之前,一定會經過徹底審核。

不過,各單位各自審查專案所使用的Crate,可能會浪費資源執行重複的工作,因此Google透過開源審查結果,以避免重複審查工作。Google將這些審查結果持續整合到供應鏈儲存庫中,並且使用cargo vet來快速驗證專案所使用的Crate。

開發者可以將Google開源的審查結果,包括程式碼品質、安全性和測試要求等屬性,匯入到自己的專案中,並且根據這些Crate屬性,決定其是否符合專案需求。不同使用案例的需求不同,cargo vet讓用戶能夠對每一個相依項目獨立配置要求。

像是對本地開發工具來說,對Crate的要求可能僅是不包含主動惡意程式碼,確保不會侵犯隱私、洩露資料或是安裝惡意軟體即可,但是供用戶部署的程式碼,就可能需要符合更嚴格的要求,像是確保沒有記憶體安全問題,並且需要使用最新的加密技術,還要符合標準和規範需求。

Google的ChromeOS和Fuchsia專案都已經貢獻Crate審查結果,其他Google專案也會逐漸加入,如此便可覆蓋更多的Crate。目前這項工作仍在初期階段,包括cargo vet執行和共享審查的運作細節,之後可能還會有所變動。

熱門新聞

Advertisement