02.07.2022

GitHub внедрил систему машинного обучения для поиска уязвимостей в коде

GitHub объявил о добавлении в сервис Code scanning экспериментальной системы машинного обучения для выявления распространённых типов язвимостей в коде. На этапе тестирования новая функциональность пока доступна только для репозиториев с кодом на языках JavaScript и TypeScript. Отмечается, что применение системы машинного обучения позволило заметно расширить спектр выявляемых проблем, при анализе которых система теперь не ограничивается проверкой типовых шаблонов и не привязывается к известным фреймворкам. Из выявляемых новой системой проблем упоминаются ошибки, приводящие к межсайтовому скриптингу (XSS), искажению файловых путей (например, через указание «/..»), подстановке SQL- и NoSQL-запросов.

Сервис Code scanning позволяет выявлять уязвимости на ранней стадии разработки через сканирование каждой операции «git push» на предмет потенциальных проблем. Результат прикрепляется непосредственно к pull-запросу. Ранее проверка осуществлялась с использованием движка CodeQL, анализирующего шаблоны с типовыми примерами уязвимого кода (CodeQL позволяет сформировать шаблон уязвимого кода для выявления наличия подобной уязвимости в коде других проектов). Новый движок, использующий машинное обучение, может определять ранее не известные уязвимости так как он не привязан к перебору шаблонов кода, описывающих конкретные уязвимости. Ценой подобной возможности является увеличение числа ложных срабатываний по сравнению с проверками на основе CodeQL.

Источник.