Во время тестов разработчики сумели выявить 180 уязвимостей в платформе.

Инструмент под названием ODGEN был разработан учеными из Университета Джона Хопкинса и Ренминского университета. Вдохновленные методами на основе графовых запросов, такими как Code Property Graph (CPG), исследователи разработали новую структуру графа под названием Object Dependence Graph (ODG), а также создали прототип инструмента ODGEN, чтобы использовать ODG для поиска ошибок.

ODG представляет JavaScript-объекты как узлы, а их взаимодействия с абстрактным синтаксическим деревом (АСД) как ребра. Кроме того, ODG учитывает зависимости данных между объектами, что помогает обнаруживать уязвимости по типу внедрения команд.

Для генерации ODG используется чувствительный к потоку и контексту статический анализ. Группа ученых отмечает, что ODG можно использовать для обнаружения различных типов уязвимостей в Node.js, причем даже без подключения к интернету.

Исследователи смогли настроить ODGEN на выявление шести типов уязвимостей. В ходе тестов им удалось обнаружить 43 0-day уязвимости в приложениях c 14 ложными срабатываниями инструмента и 137 0-day уязвимостей в пакетах с 84 ложными срабатываниями инструмента.

Около 70 уязвимостей, обнаруженных с помощью ODGEN, уже получили свой идентификатор CVE.

Источник: securitylab