Новости
Google анонсировала OSV-Scanner: сканер уязвимостей в программных проектах

Google анонсировала OSV-Scanner: сканер уязвимостей в программных проектах

OSV-Scanner - проект по поиску уязвимостей в ПО, распространяемый под свободной лицензией (Apache 2.0). Также Google запустила сервис OSV.dev - первая распределённая база данных об уязвимостях в ПО с открытым кодом.

Проект представляет из себя базу данных с информацией об уязвимостях открытого ПО - OSV (Open Source Vulnerabilities), а также непосредственно набор инструментов для поиска известных уязвимостей в программных продуктах - OSV-Scanner.

Сама база данных содержит информацию о проблемах в репозиториях 16-ти программных экосистем (дистрибутивов, пакетных менеджеров). Среди них:

  • ядро Linux - информация о дырах в ядре;
  • репозитории Debian, Alpine;
  • PyPI - данные о проблемах с безопасностью в пакетах Python;
  • Packagist - пакеты PHP;
  • NPM - о безопасности JavaScript / TypeScript пакетов;
  • Maven - для Java;
  • NuGet - пакетный менеджер C#;
  • RubyGems - пакеты для языка Ruby;
  • пакеты для языка Go;
  • пакеты для ОС Android;

и т.д.

В целом, распределение записей в базе данных OSV по различным экосистемам выглядит следующим образом:

распределение OSV по экосистемам языков программирования / операционным системам

Всего записей в базе данных более 38 тысяч, что делает OSV.dev самой большой открытой базой данных об уязвимостях ПО.

Стоит также отметить, что сканирование ведётся рекурсивно по зависимостям программных проектов. Приблизительно отчёт выглядит так:

отчёт

Здесь мы видим:

  • источник - файл с зависимостями,
  • экосистема - о каком пакетном менеджере / операционке и т.д. идёт речь,
  • пакет, о котором известно, что там есть проблема,
  • используемая версия,
  • URL, где описана уязвимость.

Как по мне, замечательный проект, который позволяет автоматизировать поиск проблем в ПО. Надо будет поискать способы добавить эту проверку, например, на push-хук git-а или на push в docker-registry.