IT之家 5 月 25 日消息,谷歌的许多开源项目都使用 Rust,这是一种现代系统语言,旨在构建可靠高效的软件 。日前谷歌在 Github 上开源了对 Rust Crate 的审查结果,开发者可在自己的项目中导入这些审核结果,以证明所使用的 Rust Crate 的属性 。
文章插图
▲ 图源 谷歌开源博客
Rust 社区中存在可用于供开发者发布自己所开发的 Crate 的名为 Crates.io 的服务,开发者利用 Crates.io 也能下载使用他人所开发的 Crate 。但所有第三方代码都带有一定风险因素 。对于本地编译器层面而言,对 Crate 的要求可能仅是不包含主动恶意代码、不侵犯隐私、泄露数据或是安装恶意软件即可,但是供客户端侧部署的代码则需要符合更严格的要求,例如确保没有内存安全问题,并需要还要符合系列标准和规范需求、并使用更新的加密技术 。
因此通常在新项目开始之际,开发组成员会根据其安全性、正确性、测试等标准对源码进行彻底的审查,当几个不同的项目审查同一个 crate 时可能会导致重复工作,因此为了消除重复的工作及验证安全性,因此谷歌内部项目开始使用新的 Crate 之前一定会经过彻底审核 。
【谷歌开源 Rust Crate 审查结果:便于 Rust 开发者验证源码安全】而第三方开发者各自审查项目所使用的 Crate 时,可能会浪费资源执行重复的工作,因此谷歌宣布开源审核结果,以避免重复审核工作 。谷歌将这些审核结果持续整合到供应链储存库中,并且使用 cargo vet 来快速验证项目所使用的 Crate 。
开发者可以将谷歌开源的审核结果,包括代码质量、安全性和测试要求等属性,导入到自己的项目中,并且根据这些 Crate 属性,决定其是否符合项目需求 。不同使用案例的需求不同,cargo vet 让用户能够对每一个相依项目独立配置要求 。
日前谷歌的 ChromeOS 和 Fuchsia 项目都已经贡献 Crate 审核结果,其他谷歌项目也会逐渐加入,如此便可覆盖更多的 Crate。目前这项工作仍在初期阶段,包括 cargo vet 执行和共享审核的运作细节,之后可能还会有所变动 。
IT之家注:在 Rust 程序语言中,Crate 是 Rust 中的一个编译单位,Crate 可以编译成二进制文件或库,其包含 Rust 代码和其他相关资源,可以被编译成执行文件或是函数库 。Rust 使得在 Crate 中封装和共享代码变得容易,就像其他语言的软件包,这些 Crate 是可复用的软件组件,因此具有相当广泛的普适性 。
推荐阅读
- 白嫖党又赢了,谷歌推出免费AI编程神器Colab,欲将Copilot拉下神坛
- 征服 Rust 编程世界的终极指南
- 谷歌开源云端病理学 Python 资料库,加速医疗 AI 场景研发
- 谷歌CEO“劈柴哥”撰文:AI必须得搞,但要负责任地搞
- 字节跳动开源ByConity:基于ClickHouse的存算分离架构云原生数仓
- 最小响应式UI框架 VanJS 开源,仅 Preact 体积1/10!
- AI“黑箱”被打开?谷歌找到大模型能力涌现机制
- 刚重构 Windows 核心库,Rust 又重写 sudo 和 su!
- 几行代码安装,做图无上限:Stability AI公布DreamStudio开源版本
- 开源即时通讯IM框架MobileIMSDK的Uniapp端开发快速入门