GitHub реализовал отображение меток, информирующих об использовании проектами зависимостей с неисправленными уязвимостями. Вместе с меткой также выводятся сведения о путях устранения проблемы и версиях, в которых уязвимость уже устранена. В настоящее время выставление меток добавлено только для проектов на языках Javascript и Ruby, которые составляют 75% от кода с зависимостями, размещённого на GitHub. В 2018 году ожидается вывод аналогичных меток для проектов на языке Python. Вывод уведомлений об уязвимостях и построение графа зависимостей по умолчанию включено для всех публично доступных проектов.
Дополнительно можно отметить публикацию отчёта о состоянии безопасности открытого кода, составленного с учётом существенного увеличения числа библиотек в репозиториях. Например, за год число пакетов в NPM увеличилось на 57%, в PyPi на 32%, а в RubyGems на 10.3%. Соответственно на 53.8% увеличилось число уязвимостей в библиотеках из подобных репозиториев, при том, что число уязвимостей в пакетах из состава RHEL наоборот уменьшилось на 65%.
По данным составителей отчёта вызывающие уязвимости ошибки в среднем находятся в коде два с половиной года и в 75% случаев выявляются не мэйнтенерами, а сторонними исследователями. В среднем на исправление проблемы после получения уведомления об уязвимости уходит 16 дней, при том, что 34% мэйнтенеров реагируют на проблему в течение первого дня, а 60% в течение недели. Для 14% проанализированных библиотек выявленные уязвимости так и не были устранены. Только в 16.1% случаев исправления были портированы для прошлых выпусков библиотек.
10% проектов запрашивают для уязвимостей идентификатор CVE, а 25% практикуют умалчивание связи исправленных проблем с уязвимостями. Лишь 11% уязвимостей в Node.js занесены в базу NVD (National Vulnerability Database), для Rubygems этот показатель сооставляет 67%.
|