Rust Foundation avaldas statistika, mille kohaselt kasutab 127 000 märkimisväärses paketis, mis on esitatud crates.io kataloogis, üle 24 000 (19,11%) võtmesõna «unsafe» inimeste olemasolu sisse lülitamiseks, mis lubavad ebaausat mäluhaldust teatud koodiblokkides, näiteks pöördudes näidikute poole, kutsudes üles välistele funktsioonidele või muutes staatilisi muutujaid. 34,35% paketidest teeb otse funktsioonikutseid teistest crate-pakettidest, kus kasutatakse «unsafe» režiimi.
Rõhutatakse, et enamasti on «unsafe» režiimi kasutamine seotud koodiga, mis on kirjutatud teistes keeltes või teedega C / C++ raamatukogudeni. Kõige rohkem «unsafe» kutseid sisaldavaks paketiks on Microsofti arendatud crate-pakett windows, mis on Windowsi platvormi API rõhk. Sellel paketil on 36 miljonit allalaadimist. Unsafe'i kasutatakse ka kõige populaarsemates pakettides syn (470 miljonit allalaadimist), proc-macro2 (354 miljonit allalaadimist) ja libc (345 miljonit allalaadimist).
Koodiprobleemide tuvastamiseks, mille täitmine toimub 'unsafe' režiimis, arendatakse projekti raames Miri tõlgendajat, mis võimaldab tuvastada pöördumisi väljaspool mälubufferite piire, mälu kasutamist pärast selle vabastamist, mitteinihiseeritud andmete vale kasutamise, põhiliikide invariantide rikkumise (näiteks boolean väärtuste 0 või 1 mitte vastavus), objektide omandiõiguse reeglite rikkumise, võistlusolukordade ja mälu lekete ilmnemise.
Allikas: opennet.ru
