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

На платформі GitHub у якості експерименту 17 лютого запустили нові функції аналізу сканування коду на основі машинного навчання (ML). Передбачається, що ця система буде виявляти більше найпоширеніших типів вразливостей безпеки, повідомили в блозі платформи.

Наразі ця експериментальна функція доступна у загальнодоступній бета-версії лише для репозиторіїв мов програмування JavaScript і TypeScript на GitHub.

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

Чому вирішили використовувати ML

Відомо, що сканування коду GitHub здійснюється за допомогою механізму аналізу CodeQL. Для визначення потенційних вразливостей безпеки можна ввімкнути CodeQL для виконання запитів до кодової бази. Ці запити з відкритим кодом написані членами спільноти та експертами з безпеки GitHub, і кожен запит ретельно розроблено, щоб розпізнати якомога більше варіантів певного типу вразливості та забезпечити широке покриття Common Weakness Enumeration (CWE).

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

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

Як увімкнути новий експериментальний аналіз

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

Якщо ж користувач уже використовує сканування коду, але ще не користувався жодним із цих пакетів, то може ввімкнути новий експериментальний аналіз, змінивши файл конфігурації робочого процесу сканування коду таким чином:

[...]

    - uses: github/codeql-action/[email protected]

      with:

        queries: +security-extended

[...]

Новачкам у скануванні коду платформа розробила детальні інструкції для налаштування аналізу для мов JavaScript/TypeScript.

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


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

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі