Nagpatupad ang GitHub ng machine learning system para maghanap ng mga kahinaan sa code

Inihayag ng GitHub ang pagdaragdag ng isang pang-eksperimentong sistema ng pag-aaral ng makina sa serbisyo ng pag-scan ng Code nito upang matukoy ang mga karaniwang uri ng mga kahinaan sa code. Sa yugto ng pagsubok, ang bagong functionality ay kasalukuyang magagamit lamang para sa mga repository na may code sa JavaScript at TypeScript. Napansin na ang paggamit ng isang machine learning system ay naging posible upang makabuluhang mapalawak ang hanay ng mga natukoy na problema, kapag pinag-aaralan kung aling sistema ang hindi na limitado sa pagsuri sa mga karaniwang template at hindi nakatali sa mga kilalang framework. Kabilang sa mga problemang natukoy ng bagong system, binanggit ang mga error na humahantong sa cross-site scripting (XSS), pagbaluktot ng mga path ng file (halimbawa, sa pamamagitan ng indikasyon ng "/.."), pagpapalit ng mga query sa SQL at NoSQL.

Binibigyang-daan ka ng serbisyo sa pag-scan ng Code na matukoy ang mga kahinaan sa isang maagang yugto ng pag-unlad sa pamamagitan ng pag-scan sa bawat operasyon ng "git push" para sa mga potensyal na problema. Ang resulta ay direktang naka-attach sa pull request. Dati, isinagawa ang pagsusuri gamit ang CodeQL engine, na sinusuri ang mga template na may mga tipikal na halimbawa ng vulnerable code (Pinapayagan ka ng CodeQL na lumikha ng isang vulnerable na template ng code upang matukoy ang pagkakaroon ng katulad na kahinaan sa code ng iba pang mga proyekto). Ang bagong engine, na gumagamit ng machine learning, ay maaaring tumukoy ng mga dating hindi alam na kahinaan dahil hindi ito nakatali sa pag-enumerate ng mga template ng code na naglalarawan ng mga partikular na kahinaan. Ang halaga ng feature na ito ay isang pagtaas sa bilang ng mga false positive kumpara sa CodeQL-based na mga pagsusuri.

Pinagmulan: opennet.ru

Magdagdag ng komento