GitHub укараніў сістэму машыннага навучання для пошуку ўразлівасцяў у кодзе

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

Сэрвіс Code scanning дазваляе выяўляць уразлівасці на ранняй стадыі распрацоўкі праз сканаванне кожнай аперацыі "git push" на прадмет патэнцыйных праблем. Вынік прымацоўваецца непасрэдна да pull-запыту. Раней праверка ажыццяўлялася з выкарыстаннем рухавічка CodeQL, які аналізуе шаблоны з тыпавымі прыкладамі ўразлівага кода (CodeQL дазваляе сфармаваць шаблон уразлівага кода для выяўлення наяўнасці падобнай уразлівасці ў кодзе іншых праектаў). Новы рухавічок, які выкарыстоўвае машыннае навучанне, можа вызначаць раней не вядомыя ўразлівасці бо ён не прывязаны да перабору шаблонаў кода, якія апісваюць пэўныя ўразлівасці. Коштам падобнай магчымасці з'яўляецца павелічэнне колькасці ілжывых спрацоўванняў у параўнанні з праверкамі на аснове CodeQL.

Крыніца: opennet.ru

Дадаць каментар