Компания по разработке ПО Black Duck подготовила глобальный отчет о том, какие вызовы и риски несет использование открытого программного обеспечения. Документ основан на результатах аудиторских проверок 1,658 тыс. проектов из 965 коммерческих кодовых баз в 16 отраслях. В отчете уделяется внимание вопросам безопасности, а также лицензированию, обновлению компонентов, актуальным тенденциям в отрасли.
Отдельно рассматриваются различные типы уязвимостей открытого ПО, компоненты, которые их содержат, и угрозы, связанные с использованием устаревшего ПО.
Ключевые выводы:
- из 1,658 тыс. проектов, участвовавших в аудите, 97% содержали кодовые базы с открытым исходным кодом. В среднем в каждом случае было обнаружено около 911 компонентов открытого ПО. Количество файлов с открытым исходным кодом в среднем на приложение утроилось за последние четыре года: с 5,386 тыс. в 2020 году до 16,082 тыс. в 2024 году;
- более 280 тыс. компонентов с открытым исходным кодом, найденных в ходе аудита, были взяты из репозитория NPM. Большинство пакетов с открытым исходным кодом написаны на JavaScript. В то же время использование репозиториев пакетов Rust значительно возросло, поскольку разработчики стремятся решить проблемы безопасности памяти, связанные с языками C и C++;
- 86% анализируемых кодовых баз содержали уязвимости в компонентах с открытым исходным кодом. 81% из этих кодовых баз имели уязвимости, которые представляют высокий или критический риск для безопасности. Из 10 самых опасных уязвимостей 8 были найдены в библиотеке jQuery;
- больше всего высокорисковых уязвимостей в кодовых базах было обнаружено в сфере мобильных приложений и интернет-сфере, в маркетинговых технологиях, компьютерном оборудовании и полупроводниках. Меньше всего подвержены уязвимостям оказались кодовые базы в сфере энергетики, промышленности и робототехники, а также виртуальной реальности, развлечений и СМИ;
- в 56% случаев возникли проблемы с лицензированием кодовых баз. При этом в 33% всех кодовых баз были выявлены компоненты с открытым исходным кодом, у которых нет лицензии или используется индивидуальная лицензия;
- в 91% всех кодовых баз были обнаружены устаревшие компоненты с открытым исходным кодом. Более того, 90% всех кодовых баз содержали компоненты, отстающие более чем на 10 версий от самой актуальной;
- по результатам аудита Black Duck максимальное число уникальных уязвимостей в одной кодовой базе составило 3,548 тыс., а среднее — 154.