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

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

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

Джерело: opennet.ru

Додати коментар або відгук