Amazon og Rust Foundation har præsenteret en initiativ, der sigter mod at forbedre sikkerheden i standardbiblioteket for Rust-sprog. Målet er at kontrollere pålideligheden og sikkerheden af funktioner, der benytter nøgleordet "unsafe", hvilket muliggør operationer, der ikke sikkert håndterer hukommelsen, såsom dereferencering af pointere, ændring af statiske variable og opkald til eksterne biblioteker på C/C++. Det bemærkes, at standardbiblioteket for Rust i øjeblikket indeholder omkring 35.000 funktioner, hvoraf 7.500 indeholder kodeblokke, der udføres i konteksten "unsafe". I løbet af de seneste tre år er der blevet identificeret 57 problemer med korrektheden, hvoraf 20 blev markeret som sårbarheder.
Arbejdet med at kontrollere biblioteket er organiseret i form af en konkurrence, hvor deltagerne får forskellige opgaver relateret til at udføre specifikke kontroller for at bekræfte sikker håndtering af hukommelsen i Rust-biblioteker eller til udvikling af værktøjer til at automatisere sådanne kontroller. En vellykket opfyldelse af kontrolmålet (levering af formel bevis for pålidelighed) indebærer en belønning. For at udføre eksperimenter og offentliggøre resultater er der oprettet et repository, der er et fork af det officielle Rust-repository.
I øjeblikket er der foreslået 13 opgaver. For eksempel i en af opgaverne skal man sikre sig, at der er sikkerhed ved brug af raw-pointere i funktioner fra modulet core::ptr og levere en formel bevis for korrektheden af pointeroperationerne. Til verifikation kan eksisterende værktøjer som Aeneas, Kani, Gillian, Verus og Creusot bruges, eller man kan foreslå nye. Eksempler på udførte opgaver.
Kilde: opennet.ru
