谷歌最近在 GitHub 上开源了 Rust Crate 的审查结果

2023-05-25 11:15:53 业界科普

谷歌最近在 GitHub 上开源了 Rust Crate 的审查结果,旨在帮助 Rust 开发者验证源码安全。以下是关于此事的一些详细信息:

Rust Crate 是 Rust 中的一个编译单位,可以编译成二进制文件或库,其包含 Rust 代码和其他相关资源,可以被编译成执行文件或是函数库。Rust 使得在 Crate 中封装和共享代码变得容易,这些 Crate 是可复用的软件组件,因此具有相当广泛的普适性。

第三方代码都带有一定风险因素。对于本地编译器层面而言,对 Crate 的要求可能仅是不包含主动恶意代码、不侵犯隐私、泄露数据或是安装恶意软件即可,但是供客户端侧部署的代码则需要符合更严格的要求,例如确保没有内存安全问题,并需要还要符合系列标准和规范需求、并使用更新的加密技术。

为了消除重复的工作及验证安全性,谷歌内部项目开始使用新的 Crate 之前一定会经过彻底审核。而第三方开发者各自审查项目所使用的 Crate 时,可能会浪费资源执行重复的工作。

谷歌将这些审核结果持续整合到供应链储存库中,并且使用 cargo vet 来快速验证项目所使用的 Crate。开发者可以将谷歌开源的审核结果,包括代码质量、安全性和测试要求等属性,导入到自己的项目中,并且根据这些 Crate 属性,决定其是否符合项目需求。

Rust 在安全性上相当地著名,其代价就是相当吹毛求疵的編譯器。程式設計者往往要花上許多時間來適應 Rust 編譯器,这个过程造成生产力相对低下;但这样的安全性是否带来实质的益处呢?

Rust 比起 Golang,在相同的演算法下,编译出来的执行文件更快,但这些优势并没有让 Rust 在后端语言上比 Golang 更流行。对于网页程序来说,程序语言只是将想法转为电脑程序的中间媒介,而程序的效率瓶颈,往往不是来自网页程序本身,而是来自其他的地方,像是数据库、网络连接、系统架构等。

版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。