Специалисты GitHub провели анализ около 45 тысяч действующих репозиториев, чтобы выяснить, как много времени уходит у разработчиков на устранение уязвимостей в проектах с открытым исходным кодом.
Выяснилось, что средний срок с момента появления ошибки до ее устранения равен четырем годам. Этот период разнится от проекта к проекту. Например, на устранение бреши в безопасности Ruby уходит до 7 лет, а на аналогичную процедуру в npm — около 5.
Основная причина таких внушительных задержек кроется в том, что разработчики не замечают уязвимостей. Но как только специалистам удается найти ошибку, они тут же начинают работать над патчем (это занимает не более четырех недель). Воспользоваться брешью в безопасности можно не только напрямую, взаимодействуя с кодом пакета или приложения, но и через его зависимости. То есть пакеты, которые используются в работе программы или сервиса.
По данным отчета GitHub, большинство проектов пользуются зависимостями JavaScript, Ruby и .NET. Они же имели наибольший шанс получить предупреждение о наличии угрозы в коде (от сервиса Dependabot). Также Github выяснил, что большая часть уязвимостей связана с ошибками на стороне программистов. Из 521 проверенных предупреждений системы безопасности только 17% оказались связаны с деятельностью вредоносного кода. Наиболее серьезной угрозой в этом году стал сбой в пакете lodash – сообщения о критической ошибке в нем поступали более 5 миллионов раз.
Комментарии