Tetszenek ismét a kérdéseid.
A bizalom roppant kényes téma. Drága ellenőrizni, ellenben olcsó 'hinni'.
Nézzünk eseteket:
1.) 'Okosban' letöltök egy hipi-szupi varázskódot az internetről és beépítem a szoftverembe, amit eladok. Reklamál az ügyfél és száttárom a kezeimet. NEM tárhatom szét, én használtam fel ellenőrzés nélkül internetről letöltött komponenst.
2.) Megvásárlok egy hipi-szupi varázskódot és beépítem a szoftverembe, amit eladok. Reklamál az ügyfél és száttárom a kezeimet. NEM tárhatom szét. Én alám dolgozott a varázskód előállítója, terméket adtam el. Az másik kérdés, hogy ebből én utána mit érvényesíthetek a beszállítóm felé, hiszen ő sem tárhatja valójában szét a kezét. További kockázat (termékkel jártam így) a beszállítói láncolat. Igen, a beszállító elismerte, de valójában kijavítani nem tudta ő sem, mert a hibás komponenst binárisként kapta és nincs rá supportja. Kínos, a termék ismert és kijavítatlan hibákkal rendelkezik. Ez sajnos a globalizációs 'olcsójános' elv miatt ma elég gyakori.
3.) Megvásárolok egy hipi-szupi varázskódot és a forráskódjában legalább az unsafe blokkban levő dolgok biztonsági kihatásait magam ellenőrzöm. Ez lenne a felelősségteljes magatartás.
Ezen a ponton jön elő a Rust erőssége: a teljes kódbázis helyett csak a sokkal kevesebb 'unsafe' részt kell a memóriakezelési és hasonló low level hibákra ellenőrizni és nem a teljes beépítendő kódbázist.
Valójában az, hogy elhisszük, hogy idegen által írt, internetről letöltött kód 'biztosan' hibátlan ... a mai informatika másik rákfenéje.