GitHub ir ieviesis mašīnmācīšanās sistēmu, lai meklētu koda ievainojamības

GitHub paziņoja par eksperimentālas mašīnmācīšanās sistēmas pievienošanu savam koda skenēšanas pakalpojumam, lai identificētu izplatītākos koda ievainojamību veidus. Testēšanas stadijā jaunā funkcionalitāte pašlaik ir pieejama tikai krātuvēm ar kodu JavaScript un TypeScript. Tiek atzīmēts, ka mašīnmācīšanās sistēmas izmantošana ir ļāvusi būtiski paplašināt identificēto problēmu loku, kuru analīzē sistēma vairs neaprobežojas tikai ar standarta šablonu pārbaudi un nav piesaistīta labi zināmiem ietvariem. Starp jaunās sistēmas identificētajām problēmām tiek minētas kļūdas, kas izraisa starpvietņu skriptēšanu (XSS), failu ceļu izkropļojumus (piemēram, izmantojot “/..” norādi), SQL un NoSQL vaicājumu aizstāšanu.

Kodu skenēšanas pakalpojums ļauj identificēt ievainojamības agrīnā izstrādes stadijā, skenējot katru “git push” darbību, lai noteiktu iespējamās problēmas. Rezultāts tiek pievienots tieši vilkšanas pieprasījumam. Iepriekš pārbaude tika veikta, izmantojot CodeQL dzinēju, kas analizē veidnes ar tipiskiem ievainojama koda piemēriem (CodeQL ļauj izveidot ievainojama koda veidni, lai noteiktu līdzīgas ievainojamības esamību citu projektu kodā). Jaunais dzinējs, kas izmanto mašīnmācīšanos, var identificēt iepriekš nezināmas ievainojamības, jo tas nav saistīts ar koda veidņu uzskaiti, kas apraksta konkrētas ievainojamības. Šīs funkcijas izmaksas ir viltus pozitīvu rezultātu skaita pieaugums salīdzinājumā ar pārbaudēm, kuru pamatā ir CodeQL.

Avots: opennet.ru

Pievieno komentāru