Инструмент Open Source Insights позволяет визуализировать граф зависимостей для пакетов. Благодаря сервису можно своевременно обнаруживать проблемы с безопасностью модулей.
Проблемы зависимостей
Open Source Insights предназначен для проектов с открытым исходным кодом. В Google поясняют, что причиной выпуска инструмента стало стремительное развитие стандартов программирования за последние несколько лет. Использование принципов совместного программирования, свободных пакетов от сторонних поставщиков, общедоступных библиотек стало обычным явлением из-за повсеместного использования open source решений. Google отмечает, что компании, которые раньше отвергали преимущества открытого ПО, сейчас признают его критически важным элементом своей среды.
Однако такая ситуация порождает ряд проблем. Скорость развития технологий очень высока, а из-за большого количества задействованных в проекте пакетов с частым выходом обновлений разработчики могут не успевать отслеживать все изменения. При этом сами модули имеют зависимость от других решений, поэтому в приложениях могут возникать внезапные проблемы, например, с лицензией или безопасностью.
Чтобы снизить риски, можно использовать сканеры уязвимостей и аудит зависимостей, для обнаружения опасного пакета. Но даже небольшие open source проекты применяют сотни сторонних продуктов, поэтому визуализировать общую картину и понять степень влияния зависимостей сложно.
Как работает сервис
Open Source Insights от Google предназначен для визуализации зависимостей проекта и их свойств. Он предоставляет информацию о том, из каких сторонних решений собрано приложение. Сервис предлагает инструменты для анализа данных и изучения того, как новые версии пакетов скажутся на текущих зависимостях и не приведут ли к проблемам с безопасностью или лицензированием.
Open Source Insights предоставляет детальную информацию о пакете без необходимости предварительной установки модуля, что позволяет до внесения изменений узнать, как это действие отразится на всем проекте, насколько популярен выбранный модуль и каков его исходный код. Кроме того, сервис способен показывать другие проекты, которые зависят от вашего.
Инструмент Google регулярно сканирует миллионы проектов с открытым исходным кодом, собирая о них сведения: данные об обновлениях, условия лицензирования, право собственности, известные проблемы с безопасностью, количество загрузок, популярность и результаты тестирования OpenSSF. В качестве источника данных применяются хостинги пакетов, а также информация с GitHub, в том числе Issues.
Сейчас Open Source Insights работает с модулями, распространяемыми через репозитории NPM, Go, Maven и Cargo. В ближайшее время Google намерена добавить поддержку NuGet и PyPI.