
Компания Google открыла исходники Vanir, своего инструмента проверки сборок Android на наличие уязвимостей, для которых уже вышли патчи. Свободный доступ к анализатору кода, показавшему эффективность 97%, может существенно повысить безопасность экосистемы.
Ожидается, что расширение использования Vanir не только повысит качество Android-приложений, также облегчит жизнь OEM-провайдерам, ускорив бэкпорт и раздачу патчей на разнородные устройства. Новый opensource-проект опубликован на GitHub под лицензией BSD-3.
Статический анализатор кода пока существует в двух вариантах исполнения: как самостоятельное приложение C++ и как встраиваемая Python-библиотека. В Google его два года использовали для выявления недостающих патчей в Android и благодаря автоматизации сэкономили более 500 рабочих часов; зафиксировано лишь 2,72% ложноположительных срабатываний.
Примечательно, что для поиска известных уязвимостей метаданные Vanir не нужны. При разборе кода он сверяется с записями об уязвимостях Android в базе данных OSV (в настоящее время более 2 тыс.) и создает сигнатуры для идентификации отсутствия патча.
В настоящее время инструмент выполняет проверку кодов на C/C++ и Java и выявляет 95% непропатченных уязвимостей в Android, носимых устройствах и Pixel. На современном компьютере скан дерева исходных текстов, по словам Google, займет 10-20 минут.
Разработчики особо отметили, что Vanir можно переориентировать на другие платформы и цели — например, детектировать с его помощью лицензионный код или клоны. Значительных изменений это не потребует.