„GitHub“ paleido mašininio mokymosi sistemą, kad surastų kodo spragas

„GitHub“ logotipas

„GitHub“ pristatytas prieš kelias dienas pridėta mašininio mokymosi sistemos eksperimentail į kodų nuskaitymo paslaugą nustatyti įprastus pažeidžiamumų tipus Kode. Dėl to „GitHub“ CodeQL pagrįsta kodo analizės technologija buvo atnaujinta ir dabar naudoja mašininį mokymąsi (ML), kad surastų galimas kode saugos spragas.

Ir tai yra „GitHub“. įsigijo CodeQL technologiją kaip „Semmie“ įsigijimo dalis. CodeQL naudoja saugumo tyrimų komandos, kad galėtų atlikti semantinę kodo analizę, o „GitHub“ padarė jį atviro kodo.

Naudodamas šiuos modelius, CodeQL gali nustatyti daugiau nepatikimų vartotojų duomenų srautų, taigi ir daugiau galimų saugumo spragų.

Pastebima, kad mašininio mokymosi sistemos naudojimas leido žymiai išplėsti nustatytų problemų spektrą, kurių analizėje sistema dabar neapsiriboja tik tipinių modelių patikrinimu ir nėra susieta su žinomomis sistemomis.

Iš naujosios sistemos nustatytų problemų minimos klaidos, sukeliančios kryžminį scenarijų (XSS), failų kelių iškraipymas (pavyzdžiui, per nuorodą "/.."), SQL ir NoSQL užklausų pakeitimas.

Kodo nuskaitymas dabar gali rasti daugiau galimų saugos spragų, panaudojus naują gilaus mokymosi modelį. Ši eksperimentinė funkcija pasiekiama viešoje beta versijoje, skirtoje „JavaScript“ ir „TypeScript“ saugykloms svetainėje GitHub.com.

Naujas „GitHub“ įrankis fue išleista kaip nemokama vieša beta versija Visiems vartotojams ši funkcija naudoja mašininį mokymąsi ir gilųjį mokymąsi, kad nuskaitytų kodų bazes ir nustatytų bendrus saugos spragas prieš išsiunčiant produktą.

Eksperimentinė funkcija šiuo metu prieinama visiems platformos naudotojams, įskaitant „GitHub Enterprise“ naudotojus kaip „GitHub Advanced Security Feature“, ir gali būti naudojama projektams, parašytiems „JavaScript“ arba „TypeScript“.

Sparčiai vystantis atvirojo kodo ekosistemai, nuolat didėja bibliotekų, kurios naudojamos rečiau, uodega. Naudojame rankiniu būdu sukurtų CodeQL užklausų pavyzdžius, norėdami išmokyti giluminio mokymosi modelius atpažinti atvirojo kodo bibliotekas ir viduje sukurtas uždarojo kodo bibliotekas.

Priemonė skirta ieškoti keturių dažniausiai pasitaikančių pažeidžiamumų kurie turi įtakos šiomis dviem kalbomis parašytiems projektams: kelių svetainių scenarijus (XSS), maršruto įterpimas, NoSQL įterpimas ir SQL įterpimas.

Kodo nuskaitymo paslauga leidžia aptikti pažeidžiamumą ankstyvame kūrimo etape, nuskaitant kiekvieną „git push“ operaciją, ar nėra galimų problemų.

Rezultatas pridedamas tiesiai prie ištraukimo užklausos. Anksčiau patikrinimas buvo atliktas naudojant CodeQL variklį, kuris analizuoja šablonus su tipiniais pažeidžiamo kodo pavyzdžiais (CodeQL leidžia sugeneruoti pažeidžiamo kodo šabloną, kad būtų galima aptikti panašų pažeidžiamumą kitų projektų kode).

Su naujomis analizės galimybėmis kodo nuskaitymas gali generuoti dar daugiau įspėjimų apie keturis įprastus pažeidžiamumo modelius: Cross-Site Scripting (XSS), kelio įvedimą, NoSQL įvedimą ir SQL įvedimą. Kartu šie keturi pažeidžiamumo tipai atspindi daugelį naujausių „JavaScript“ / „TypeScript“ ekosistemos pažeidžiamumų (CVE), o kodo nuskaitymo galimybės aptikti tokius pažeidžiamumus ankstyvame kūrimo etape yra labai svarbu, kad kūrėjai galėtų rašyti saugesnį kodą.

Naujas mašininio mokymosi variklis gali nustatyti anksčiau nežinomus pažeidžiamumus nes jis nėra susietas su kodų modelių, apibūdinančių konkrečias pažeidžiamumas, kartojimu. Tokios galimybės kaina yra klaidingų teigiamų rezultatų padidėjimas, palyginti su CodeQL pagrįstais patikrinimais.

Pagaliau norintiems sužinoti apie tai daugiau, galite patikrinti detales Šioje nuorodoje.

Taip pat svarbu paminėti, kad testavimo etape naujasis funkcionalumas šiuo metu pasiekiamas tik saugyklose su JavaScript ir TypeScript kodais.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.