Эксперты проанализировали библиотеки с открыты кодом, написанные на разных языках программирования и выяснили любопытную деталь — самой уязвимой оказалась экосистема PyPI (язык Python). Каждая вторая из популярных библиотек (51% по нашим наблюдениями) содержала уязвимость в какой-либо из своих версий. Уязвимости, обнаруженные исследованием, позволяют злоумышленникам осуществлять перехват данных при выполнении HTTP-запросов, ослабить криптографическую защиту и выполнять произвольный код.
Для сравнения, известных open source компонентов в языке Java в 25 раз больше, чем в Python, но самые популярные пакеты оказались менее уязвимы — только в 22% случаев. Например, уязвимости в Spring Framework позволяют злоумышленникам обходить аутентификацию, выполнять SQL-инъекции или получать доступ к конфиденциальной информации. Уязвимость Log4Shell до сих пор остаётся одной из самых значимых угроз для приложений, так как позволяет злоумышленнику отправить специальным образом сформированный запрос, который приведет к выполнению вредоносного кода на стороне приложения.
«Результаты исследования за 2024 год показывают, что даже самые популярные open source компоненты могут содержать критические уязвимости. Это подчёркивает важность регулярного обновления библиотек, проведения аудита безопасности и использования инструментов для управления зависимостями. Разработчикам и компаниям следует уделять особое внимание мониторингу безопасности используемых компонентов, чтобы минимизировать риски для своих систем и данных», — рассказал Константин Крюков, директор продукта AppSec.Track компании AppSec Solutions.
Защитить российских разработчиков могут инструменты, предотвращающие атаки на цепочку поставок ПО. Например, AppSec.Track позволяет инвентаризировать open source-компоненты и проверить их на наличие уязвимостей, вредоносного и нежелательного содержимого. Также продукт позволяет проводить мониторинг уже разработанных продуктов внутри компании, чтобы уведомить команду разработки о появлении новых уязвимостей в использованных ранее компонентах.