AWS(Amazon Web Services)与Rust基金会周三(11/20)共同发动一项新竞赛,期望号召社交媒体的力量来验证Rust标准函数库的安全性。

Rust为一通用程序语言,强调性能、类型安全与并行性,它强制执行内存安全,并被广泛应用在嵌入式操作系统、网络服务及区块链项目上,多次在Stack Overflow的开发者调查中获选为“最爱程序语言”。

尽管Rust语言以安全性著称,但开发者可通过unsafe声明来绕过安全机制,以执行操作系统等级的功能调用或内存操作等低端或高性能任务,同时在官方文件中提醒开发者要小心使用unsafe。

AWS表示,由core、alloc与std等组件组成的Rust标准函数库,替开发者提供了许多常用的功能,这些功能在外部看起来是安全的,但它们在内部可能使用了unsafe区块来实现一些低端的高性能操作或硬件互动,而且并未经过真正的安全验证。

因此,AWS与Rust基金会共同推出一系列的挑战赛,专注于验证内存安全,以及Rust标准函数库中未定义行为的子集,参与者可以通过指定合约、验证函数库组件,或是开发新的验证工具来作出贡献,而且每一项成功的挑战都可获得奖励。该活动的最终目标,是要让验证成为Rust语言持续集成过程中不可或缺的一部分。

目前Rust标准函数库总计包含约3.5万个函数,其中有7,500个为标记为unsafe的不安全函数,另有3,000个为封装unsafe操作的安全抽象函数。

过去3年来,Rust标准函数库报告了57个健全性问题,以及20个CVE漏洞编号,其中有28%的健全性问题是在今年被发现的,意味着标准函数库的变化越来越快,健全性问题也随之增加,而且基于Rust的产品或服务中,有超过9成都依赖其标准函数库,显现其重要性。