Firma Sonatype, specjalizująca się w ochronie przed atakami manipulującymi komponentami oprogramowania i zależnościami (chain supply), opublikowała wyniki badania (PDF, 62 strony) dotyczącego problemów z zależnościami i utrzymywaniem otwartych projektów w językach Java, JavaScript, Python i .NET, przedstawionych w repozytoriach Maven Central, NPM, PyPi i Nuget. W ciągu roku odnotowano wzrost liczby projektów w monitorowanych otwartych ekosystemach średnio o 29%. Liczba pobrań pakietów z rozważanych repozytoriów w 2023 roku wzrosła o 33%, jednak dla porównania, w 2021 roku liczba pobrań wzrosła o 73%.
W znacznym stopniu wzrosła złośliwa aktywność w repozytoriach — od początku roku zidentyfikowano 245 tysięcy złośliwych pakietów, a liczba odnotowanych ataków celujących w podmianę zależności wzrosła dwukrotnie.

Wiele projektów nadal korzysta z podatnych wersji, na przykład 23% pobrań pakietu Java Log4j wciąż stanowią wersje z krytycznymi podatnościami, które zostały usunięte w 2021 roku. W repozytorium Maven Central około 12% wszystkich pobrań dotyczy komponentów zawierających znane podatności. W średnim ujęciu dla wszystkich repozytoriów udział pobrań starych wersji pakietów, które są klasyfikowane jako ryzykowne (na przykład z niepoprawionymi podatnościami) wynosi 20% (w 80% przypadków pobierana jest aktualna wersja). W 96% przypadków pobrań komponentów z podatnościami można było uniknąć, wybierając wersje, w których problem został już rozwiązany.
Znacznym problemem w utrzymaniu bezpieczeństwa jest także jakość wsparcia projektów. W ekosystemach dla języków Java i JavaScript występują z tym duże problemy — w ciągu ostatniego roku zaprzestano wsparcia dla co piątego projektu (18,6%), który był przedstawiony w Maven Central i NPM, i był wspierany w roku poprzednim. Spośród 1,176 miliona analizowanych projektów, które były obecne w repozytoriach Maven, NPM, PyPi i Nuget, tylko 11% (118 tysięcy) nadal jest aktywnie wspierane.
W ramach badania przeprowadzono również ankietę wśród 621 profesjonalnych programistów z różnych firm. 67% respondentów uważa, że ich aplikacje nie wykorzystują podatnych bibliotek, 10% w ciągu ostatnich 12 miesięcy napotkało incydenty związane z bezpieczeństwem spowodowane podatnościami w otwartym oprogramowaniu, a 20% ma trudności z udzieleniem odpowiedzi. 28% firm identyfikuje obecność podatnych komponentów w ciągu 1 dnia po ujawnieniu informacji o podatności, 39% — od 1 do 7 dni, a 29% — dłużej niż tydzień.
Źródło: opennet.ru
