Firmaet Synopsys 1253 kommercielle kodebaser og konkluderede, at næsten alle (99%) de undersøgte kommercielle applikationer indeholder mindst én komponent med open source-kode, og 70% af koden i de undersøgte depot er open source. Til sammenligning var andelen af open source-kode i et tilsvarende studie fra 2015 36%.
I de fleste tilfælde bliver den anvendte tredjeparts open source-kode ikke opdateret og indeholder potentielle sikkerhedsproblemer - i 91% af de undersøgte kodebaser er der open source-komponenter, der ikke er blevet opdateret i mere end 5 år, eller som har været i en glemt tilstand i mindst to år og ikke længere vedligeholdes af udviklere. Som følge heraf indeholder 75% af den identificerede open source-kode i repositorys uoprettede kendte sårbarheder, hvoraf halvdelen har et højt fareniveau. I et stikprøve fra 2018 var andelen af kode med sårbarheder 60%.
Den mest almindelige farlige sårbarhed var
problemet (fjerndekodning af kode) i biblioteket for Node.js, hvis sårbare versioner er blevet mødt mere end 500 gange. Den ældste uoprettede sårbarhed var et problem i lpd dæmonen (), som blev rettet i 1999.
Udover sikkerheden i kodebaserne for kommercielle projekter er der også tegn på forsømmelighed i overholdelsen af betingelserne for open source-licenser.
I 73% af kodebaserne blev der fundet problemer med lovligheden af brugen af open source-kode, for eksempel licenskonflikter (som regel er GPL-kode inkluderet i kommercielle produkter uden at åbne det afledte produkt) eller brug af kode uden angivelse af licens. 93% af alle licensproblemer optræder i web- og mobilapplikationer. I spil, virtuelle realiteter, multimedie- og underholdningsprogrammer blev overtrædelser bemærket i 59% af tilfældene.
I alt er der identificeret 124 typiske åbne komponenter i undersøgelsen, som ofte anvendes i alle kodebaser. De mest populære af dem er: jQuery (55 %), Bootstrap (40 %), Font Awesome (31 %), Lodash (30 %) og jQuery UI (29 %). Når vi ser på programmeringssprog, er de mest populære JavaScript (bruges i 74 % af projekterne), C++ (57 %), Shell (54 %), C (50 %), Python (46 %), Java (40 %), TypeScript (36 %), C# (36 %); Perl (30 %) og Ruby (25 %). Den samlede andel af programmeringssprog er:
JavaScript (51 %), C++ (10 %), Java (7 %), Python (7 %), Ruby (5 %), Go (4 %), C (4 %), PHP (4 %), TypeScript (4 %), C# (3 %), Perl (2 %) og Shell (1 %).
Kilde: opennet.ru
