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

Логотип GitHub

Представлений GitHub кілька днів тому додавання експерименти з системою машинного навчанняl до служби сканування коду визначити поширені типи вразливостей У коді. Завдяки цьому технологія аналізу коду GitHub на основі CodeQL була оновлена ​​і тепер використовує машинне навчання (ML) для пошуку потенційних вразливостей безпеки в коді.

І це той GitHub придбав технологію для CodeQL як частина придбання Semmie. CodeQL використовується дослідницькими групами безпеки для виконання семантичного аналізу коду, а GitHub зробив його відкритим вихідним кодом.

За допомогою цих моделей CodeQL може ідентифікувати більше ненадійних потоків даних користувачів і, отже, більше потенційних вразливостей безпеки.

Помічено, що використання системи машинного навчання дозволило значно розширити коло виявлених проблем, в аналізі яких система тепер не обмежується перевіркою типових закономірностей і не прив’язана до відомих фреймворків.

З проблем, виявлених новою системою, згадуються помилки, що призводять до міжсайтового скриптування (XSS), спотворення шляхів до файлів (наприклад, через вказівку «/..»), підміна запитів SQL і NoSQL. .

Тепер сканування коду може знайти більше потенційних вразливостей безпеки, використовуючи нову модель глибокого навчання. Ця експериментальна функція доступна у загальнодоступній бета-версії для репозиторіїв JavaScript і TypeScript на GitHub.com.

Новий інструмент GitHub fue випущено як безкоштовна публічна бета-версія Для всіх користувачів ця функція використовує машинне навчання та глибоке навчання для сканування баз коду та виявлення поширених уразливостей безпеки перед відправкою продукту.

Експериментальна функція наразі доступна всім користувачам платформи, включаючи користувачів GitHub Enterprise як функція розширеної безпеки GitHub, і може використовуватися для проектів, написаних на JavaScript або TypeScript.

Зі стрімкою еволюцією екосистеми з відкритим кодом постійно зростає довгий хвіст бібліотек, які використовуються рідше. Ми використовуємо приклади зі створених вручну запитів CodeQL, щоб навчити моделі глибокого навчання розпізнавати бібліотеки з відкритим кодом, а також внутрішньо розроблені бібліотеки із закритим кодом.

Інструмент призначений для пошуку чотирьох найпоширеніших уразливостей які впливають на проекти, написані цими двома мовами: міжсайтові сценарії (XSS), ін’єкція маршрутів, ін’єкція NoSQL та ін’єкція SQL.

Служба сканування коду дозволяє виявляти вразливості на ранній стадії розробки, перевіряючи кожну операцію git push на наявність потенційних проблем.

Результат додається безпосередньо до запиту на витяг. Раніше перевірка проводилася за допомогою движка CodeQL, який аналізує шаблони з типовими прикладами вразливого коду (CodeQL дозволяє генерувати шаблон уразливого коду для виявлення наявності подібної вразливості в коді інших проектів).

Завдяки новим можливостям аналізу сканування коду може генерувати ще більше сповіщень щодо чотирьох поширених моделей уразливостей: міжсайтових сценаріїв (XSS), ін’єкції шляху, ін’єкції NoSQL та ін’єкції SQL. Разом ці чотири типи вразливостей представляють багато останніх вразливостей (CVE) в екосистемі JavaScript/TypeScript, і покращення можливості сканування коду для виявлення таких вразливостей на початку процесу розробки є ключем до допомоги розробникам писати більш безпечний код.

Новий движок машинного навчання може визначити раніше невідомі вразливості оскільки він не прив'язаний до ітерації шаблонів коду, які описують конкретні вразливості. Ціна такої можливості – збільшення кількості помилкових спрацьовувань у порівнянні з перевірками на основі CodeQL.

В кінці кінців для тих, кому цікаво дізнатись більше про це, Ви можете перевірити деталі У наступному посиланні.

Також важливо зазначити, що на етапі тестування нова функціональність наразі доступна лише для репозиторіїв із кодом JavaScript та TypeScript.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.