Согласно результатам исследования, проведенного в ИБ-компании Lineaje, 95% уязвимостей в приложениях возникают по вине подключаемых компонентов с открытым кодом. В половине случаев ситуацию невозможно исправить из-за отсутствия патча.
Более того, 70% opensource-проектов, на которые полагается рабочий софт, уже не поддерживаются либо находятся в неудовлетворительном состоянии. Статистика получена на основе анализа более 7 млн пакетов с открытым исходным кодом.
Примечательно, что проекты, за состоянием которых хорошо следят, оказались в 1,8 раза более уязвимыми, чем заброшенные, — видимо, частые изменения повышают риск привнесения ошибок.
Подобная опасность также выше, когда над проектом работают менее 10 или более 50 человек. В первом случае риск просмотреть проблему безопасности на 330% превышает показатель для команды средней величины, во втором — на 40%.
Проблему усугубляет тот факт, что зависимость может содержать до 60 слоев разнородных компонентов с открытым кодом, объединенных в одну структуру — как лего. В этом случае сложно не только оценить риски, но и принять меры для смягчения последствий эксплойта.
Исследование также показало, что 15% opensource-компонентов в приложениях с зависимостями имеют множество версий, что тоже затрудняет латание дыр. Софт средней величины в ходе работы может подтягивать 1,4 млн строк кода, написанного на 139 языках, в том числе небезопасных по памяти.
Треть подключаемых пакетов (34%) имеют американское происхождение, 13% — российское. В 20% случаев разработчик из США — аноним; для России этот показатель вдвое ниже.