Tehisintellekt
Värske uuringu kohaselt Tarkvarainsenerid, kes kasutavad koodi genereerimiseks tehisintellekti süsteeme, põhjustavad suurema tõenäosusega oma arendatavates rakendustes turvaauke. Stanfordiga seotud teadlaste meeskonna kaasautoris töö tõstab esile koodi genereerimise süsteemide võimalikud lõkse, kui müüjad, nagu GitHub, hakkavad neid tõsiselt turustama.
"Praegu ei asenda koodi genereerimissüsteemid inimarendajaid"Neil Perry, Stanfordi doktorant ja uuringu kaasautor, selgitab meiliintervjuus. "Arendajad, kes kasutavad neid oma pädevusvaldkonda mittekuuluvate ülesannete täitmiseks, peaksid olema mures ja need, kes kasutavad neid ülesannete kiirendamiseks, milles nad on juba eksperdid, peaksid hoolikalt kontrollima tulemusi ja konteksti, milles neid üldprojektis kasutatakse. ."
Stanfordi uuring keskendus konkreetselt Codexile, AI-koodi genereerimise süsteemile, mille töötas välja San Franciscos asuv uurimislabor OpenAI. Teadlased värbasid 47 arendajat – alates kolledži üliõpilastest kuni aastakümnete pikkuse programmeerimiskogemusega valdkonna professionaalideni –, et kasutada Codexit turvalisusega seotud probleemide lahendamiseks programmeerimiskeeltes, nagu Python, JavaScript ja C.
Codexit on koolitatud miljardeid avaliku koodi ridu, et pakkuda olemasoleva koodi konteksti arvestades täiendavaid koodiridu ja funktsioone. Süsteem pakub välja programmeerimise lähenemisviisi või lahenduse vastuseks kirjeldusele, mida programmeerija soovib saavutada (näiteks "Öelge tere maailm"), lähtudes nii oma teadmistebaasi kui ka praegusest kontekstist.
Teadlaste sõnul kirjutasid uuringus osalejad, kellel oli juurdepääs Codexile, suurema tõenäosusega programmeerimisprobleemidele valesid ja "ebaturvalisi" (küberturvalisuse mõttes) lahendusi võrreldes kontrollrühmaga. Veelgi murettekitavam oli see, et nad väitsid tõenäolisemalt, et nende ebakindlad vastused olid kontrollrühma inimestega võrreldes turvalised.
Megha Srivastava, Stanfordi magistrant ja uuringu teine kaasautor, rõhutab, et tulemused ei ole Codexi ja teiste koodigenereerimissüsteemide täielik hukkamõist. Näiteks puudusid uuringus osalejad turvaalased teadmised, mis oleksid võimaldanud neil koodis leiduvaid turvaauke paremini tuvastada. Peale selle usub Srivastava, et koodi genereerimise süsteemid on kasulikud mitte-suure riskiga ülesannete jaoks, nagu uurimusliku uurimistöö kodeerimine, ja et need võiksid täiustada oma kodeerimissoovitusi peenhäälestusega.
"Ettevõtted, kes arendavad oma [süsteeme], võib-olla saavad rohkem koolitust oma sisemise lähtekoodi kohta, võiksid paremini hakkama saada, kuna mudelit võiks julgustada looma oma kodeerimis- ja turvatavadele paremini vastavaid tulemusi."ütleb Srivastava.
Niisiis, kuidas saaksid pakkujad, nagu GitHub, takistada arendajatel oma koodi genereerivate AI-süsteemide abil turvavigu sisse viia? Kaasautoritel on mõned ideed, sealhulgas mehhanism kasutajajuhiste "viimistlemiseks", et muuta need turvalisemaks, näiteks juhendaja, kes uurib ja vaatab üle koodikavandeid. Samuti viitavad nad sellele, et krüptograafiliste raamatukogude arendajad tagavad, et nende vaikekonfiguratsioonid on turvalised, kuna koodi genereerimissüsteemid kipuvad kinni pidama vaikeväärtustest, mis ei ole alati kasutusvabad.
„AI-assistentide koodi genereerimise tööriistad on tõeliselt põnev arendus ja on arusaadav, miks nii paljud inimesed neid innukalt kasutama soovivad. Need tööriistad tõstatavad aga probleeme, millega tuleb edaspidi arvestada... Meie eesmärk on teha laiem avaldus koodi genereerimise mudelite kasutamise kohta."ütleb Perry. "Peame jätkama nende probleemide uurimist ja nende lahendamise tehnikate väljatöötamist."
Perry arvates ei ole turvaaukude sissetoomine koodi genereerivate tehisintellektisüsteemide ainus viga. Vähemalt osa koodist, mida Codex koolitati, on piiratud litsentsi all; Kasutajad on saanud paluda Copilotil genereerida Quake'i koodi, koodijuppe isiklikest koodibaasidest ja näidiskoodi raamatutest, nagu Mastering JavaScript ja Think JavaScript. Mõned õiguseksperdid on väitnud, et Copilot võib ohustada ettevõtteid ja arendajaid, kui nad lisavad tahtmatult tööriista autoriõigustega kaitstud soovitused oma tootmistarkvarasse.
GitHubi katse seda parandada on filter, mis võeti esmakordselt kasutusele Copiloti platvormil juunis ja mis kontrollib umbes 150 tähemärgist koosnevaid koodisoovitusi GitHubi avaliku koodiga ja peidab soovitused, kui see on sobiv või "peaaegu kokkusattumus". Kuid see on ebatäiuslik meede. Texas A&M ülikooli arvutiteaduse professor Tim Davis leidis, et filtri sisselülitamine põhjustas Copiloti suure hulga autoriõigustega kaitstud koodide väljastamise, sealhulgas kogu omistamis- ja litsentsiteksti.
"[Nendel põhjustel] oleme väga ettevaatlikud nende tööriistade kasutamisel, et õpetada alustavaid arendajaid usaldusväärsete kodeerimistavade kohta," lisas Srivastava.