Az Amazon és a Rust Foundation bejelentette azt az kezdeményezést, amely a Rust programozási nyelv szabványkönyvtárának biztonságának javítására irányul. A cél a 'unsafe' kulcsszóval érintett funkciók megbízhatóságának és biztonságának ellenőrzése, amelyek olyan memória-műveleteket engedélyeznek, mint a pointerek dereferálása, statikus változók módosítása és C/C++ külső könyvtárak elérése. Jelenleg a Rust szabványkönyvtár körülbelül 35 ezer funkciót tartalmaz, ezek közül 7500 tartalmaz olyan kódrészleteket, amelyek 'unsafe' kontextusban futnak. Az utolsó három év során a könyvtárban 57 helyességi problémát azonosítottak, ebből 20-at sebezhetőségnek minősítettek.
A könyvtár ellenőrzése versenyformában zajlik, ahol a résztvevők különböző feladatokat kapnak, amelyek célja a Rust könyvtárak biztonságos memóriahasználatának igazolása, vagy olyan eszközök kidolgozása, amelyek ilyen ellenőrzések automatizálására szolgálnak. A vizsgálat céljának sikeres teljesítése (formális bizonyíték rendelkezésre bocsátása a megbízhatóságról) jutalomkifizetést von maga után. Kísérletek elvégzésére és az eredmények közzétételére egy repozitórium jött létre, amely a Rust eredeti repozitóriumának elágazása.
Jelenleg összesen 13 feladat áll rendelkezésre. Például az egyik feladat arra kéri a résztvevőket, hogy bizonyosodjanak meg a raw pointerek biztonságos kezeléséről a core::ptr modul funkcióiban és nyújtsanak formális bizonyítékot a pointerekkel végzett műveletek helyességéről. A verifikációhoz használhatók olyan meglévő eszközök, mint az Aeneas, Kani, Gillian, Verus és Creusot, vagy új eszközöket is javasolhatnak. Teljesített feladatok példái.
Forrás: opennet.ru
