Archwilio Effaith Cynorthwywyr AI Fel GitHub Copilot ar Ddiogelwch Cod

Astudiodd grŵp o ymchwilwyr o Brifysgol Stanford effaith defnyddio cynorthwywyr deallus wrth ysgrifennu cod ar ymddangosiad gwendidau yn y cod. Fe wnaethom ystyried datrysiadau yn seiliedig ar lwyfan dysgu peirianyddol OpenAI Codex, fel GitHub Copilot, sy'n eich galluogi i gynhyrchu blociau cod eithaf cymhleth, hyd at swyddogaethau parod. Mae'r pryderon yn ymwneud â'r ffaith, ers i god go iawn o ystorfeydd GitHub cyhoeddus, gan gynnwys y rhai sy'n cynnwys gwendidau, gael ei ddefnyddio i hyfforddi'r model dysgu peiriant, gall y cod wedi'i syntheseiddio ailadrodd gwallau ac awgrymu cod sy'n cynnwys gwendidau, ac nid yw hefyd yn ystyried yr angen i wneud gwiriadau ychwanegol wrth brosesu data allanol.

Roedd yr astudiaeth yn cynnwys 47 o wirfoddolwyr gyda phrofiad gwahanol mewn rhaglennu - o fyfyrwyr i weithwyr proffesiynol gyda deng mlynedd o brofiad. Rhannwyd y cyfranogwyr yn ddau grŵp - arbrofol (33 o bobl) a rheolaeth (14 o bobl). Roedd gan y ddau grŵp fynediad i unrhyw lyfrgelloedd ac adnoddau Rhyngrwyd, gan gynnwys defnyddio enghreifftiau parod o Stack Overflow. Cafodd y grŵp arbrofol gyfle i ddefnyddio’r cynorthwyydd AI.

Rhoddwyd 5 tasg i bob cyfranogwr yn ymwneud ag ysgrifennu cod lle gallai fod yn hawdd gwneud camgymeriadau sy'n arwain at wendidau. Er enghraifft, roedd tasgau ar ysgrifennu swyddogaethau amgryptio a dadgryptio, defnyddio llofnodion digidol, prosesu data sy'n ymwneud â ffurfio llwybrau ffeil neu ymholiadau SQL, trin niferoedd mawr mewn cod C, prosesu mewnbwn a ddangosir ar dudalennau gwe. Er mwyn ystyried effaith ieithoedd rhaglennu ar ddiogelwch y cod a gafwyd wrth ddefnyddio cynorthwywyr AI, roedd yr aseiniadau'n cwmpasu Python, C a JavaScript.

O ganlyniad, canfuwyd bod cyfranogwyr a ddefnyddiodd gynorthwyydd AI deallus yn seiliedig ar fodel codex-davinci-002 yn cynhyrchu cod llawer llai diogel na chyfranogwyr nad oeddent yn defnyddio cynorthwyydd AI. Yn gyffredinol, dim ond 67% o'r cyfranogwyr yn y grŵp a ddefnyddiodd y cynorthwyydd AI oedd yn gallu darparu cod cywir a diogel, tra yn y grŵp arall roedd y ffigur hwn yn 79%.

Ar yr un pryd, cafodd dangosyddion hunan-barch eu gwrthdroi - roedd cyfranogwyr a ddefnyddiodd y cynorthwyydd AI yn credu y byddai eu cod yn fwy diogel na'r rhai o gyfranogwyr o'r grŵp arall. Yn ogystal, nodwyd bod cyfranogwyr a oedd yn ymddiried yn y cynorthwyydd AI yn llai ac yn treulio mwy o amser yn dosrannu a gwneud newidiadau i'r awgrymiadau a roddwyd yn gwneud llai o wendidau yn y cod.

Er enghraifft, roedd y cod a gopïwyd o'r llyfrgelloedd cryptograffig yn cynnwys gwerthoedd paramedr rhagosodedig mwy diogel na'r cod a awgrymwyd gan y cynorthwyydd AI. Hefyd, wrth ddefnyddio'r cynorthwyydd AI, gosodwyd y dewis o algorithmau amgryptio llai dibynadwy ac absenoldeb dilysu gwerthoedd a ddychwelwyd. Yn y dasg trin rhif C, roedd gan y cod a ysgrifennwyd gan ddefnyddio'r cynorthwyydd AI fwy o wallau gan arwain at orlif cyfanrif.

Yn ogystal, gellir nodi astudiaeth debyg gan grŵp o Brifysgol Efrog Newydd, a gynhaliwyd ym mis Tachwedd gyda chyfranogiad 58 o fyfyrwyr, y gofynnwyd iddynt weithredu strwythur ar gyfer prosesu rhestr siopa yn C. Dangosodd y canlyniadau effaith ddibwys y cynorthwyydd AI ar ddiogelwch cod - gwnaeth defnyddwyr a ddefnyddiodd y cynorthwyydd AI, ar gyfartaledd, tua 10% yn fwy o wallau cysylltiedig â diogelwch.

Archwilio Effaith Cynorthwywyr AI Fel GitHub Copilot ar Ddiogelwch Cod


Ffynhonnell: opennet.ru

Ychwanegu sylw