Inilunsad ng GitHub ang isang machine learning system upang mahanap ang mga kahinaan sa code

Logo ng GitHub

Inilabas ang GitHub ilang araw na nakalipas ang pagdaragdag ng isang machine learning system na mga eksperimentol sa serbisyo ng pag-scan ng code upang matukoy ang mga karaniwang uri ng mga kahinaan Sa code. Sa pamamagitan nito, ang teknolohiya ng pagsusuri ng code na nakabatay sa CodeQL ng GitHub ay binago at ngayon ay gumagamit ng machine learning (ML) upang mahanap ang mga potensyal na kahinaan sa seguridad sa code.

At ito ang GitHub nakuha ang teknolohiya para sa CodeQL bilang bahagi ng pagkuha ni Semmie. Ang CodeQL ay ginagamit ng mga security research team para magsagawa ng semantic analysis ng code, at ginawa itong open source ng GitHub.

Sa mga modelong ito, matutukoy ng CodeQL ang mas maraming hindi pinagkakatiwalaang stream ng data ng user at samakatuwid ay mas maraming potensyal na kahinaan sa seguridad.

Napagmasdan na ang paggamit ng isang machine learning system ay naging posible upang makabuluhang palawakin ang hanay ng mga natukoy na problema, kung saan ang pagsusuri ng system ay hindi na limitado ngayon sa pag-verify ng mga tipikal na pattern at hindi nakatali sa mga kilalang frameworks.

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 na "/.."), pagpapalit ng mga query sa SQL at NoSQL. .

Ang pag-scan ng code ay makakahanap na ngayon ng higit pang mga potensyal na kahinaan sa seguridad sa pamamagitan ng paggamit ng bagong modelo ng malalim na pag-aaral. Ang pang-eksperimentong feature na ito ay available sa pampublikong beta para sa mga repositoryo ng JavaScript at TypeScript sa GitHub.com.

Ang bagong tool ng GitHub fue inilabas bilang isang libreng pampublikong beta Para sa lahat ng user, ang feature ay gumagamit ng machine learning at deep learning para i-scan ang mga code base at tukuyin ang mga karaniwang kahinaan sa seguridad bago ipadala ang isang produkto.

Kasalukuyang available ang pang-eksperimentong feature sa lahat ng user ng platform, kabilang ang mga user ng GitHub Enterprise bilang GitHub Advanced Security Feature, at maaaring gamitin para sa mga proyektong nakasulat sa JavaScript o TypeScript.

Sa mabilis na ebolusyon ng open source ecosystem, mayroong patuloy na pagtaas ng mahabang buntot ng mga aklatan na hindi gaanong ginagamit. Gumagamit kami ng mga halimbawa mula sa manu-manong ginawang mga query sa CodeQL upang sanayin ang mga modelo ng malalim na pag-aaral upang makilala ang mga open source na aklatan pati na rin ang mga panloob na binuo na closed source na library.

Ang tool ay idinisenyo upang hanapin ang apat na pinakakaraniwang kahinaan na nakakaapekto sa mga proyektong nakasulat sa dalawang wikang ito: cross-site scripting (XSS), route injection, NoSQL injection at SQL injection.

Ang serbisyo sa pag-scan ng code ay nagbibigay-daan sa iyo na makakita ng mga kahinaan sa isang maagang yugto ng pag-unlad sa pamamagitan ng pag-scan sa bawat git push operation para sa mga potensyal na isyu.

Ang resulta ay direktang naka-attach sa pull request. Dati, ang pagsusuri ay ginawa gamit ang CodeQL engine, na sinusuri ang mga pattern na may mga tipikal na halimbawa ng vulnerable code (Pinapayagan ka ng CodeQL na bumuo ng template ng vulnerable code upang makita ang pagkakaroon ng katulad na kahinaan sa code ng iba pang mga proyekto).

Gamit ang mga bagong kakayahan sa pagsusuri, ang Code Scanning ay makakabuo ng higit pang mga alerto para sa apat na karaniwang pattern ng kahinaan: Cross-Site Scripting (XSS), Path Injection, NoSQL Injection, at SQL Injection. Magkasama, ang apat na uri ng kahinaan na ito ay kumakatawan sa marami sa mga kamakailang kahinaan (CVEs) sa JavaScript/TypeScript ecosystem, at ang pagpapahusay sa kakayahan ng pag-scan ng code upang matukoy ang mga naturang kahinaan sa maagang bahagi ng proseso ng pag-develop ay susi sa pagtulong sa mga developer na magsulat ng mas secure na code.

Ang bagong machine learning engine maaaring matukoy ang mga dating hindi alam na kahinaan dahil hindi ito nakatali sa pag-ulit ng mga pattern ng code na naglalarawan ng mga partikular na kahinaan. Ang presyo ng ganitong pagkakataon ay isang pagtaas sa bilang ng mga maling positibo kumpara sa mga pagsusuring nakabatay sa CodeQL.

Sa wakas para sa mga interesadong malaman ang tungkol dito, maaari mong suriin ang mga detalye Sa sumusunod na link.

Mahalaga rin na banggitin na sa yugto ng pagsubok, ang bagong functionality ay kasalukuyang magagamit lamang para sa mga repository na may JavaScript at TypeScript code.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.