Utforsk virkningen av AI-assistenter som GitHub Copilot på kodesikkerhet

Et team av forskere fra Stanford University studerte virkningen av å bruke intelligente kodeassistenter på utseendet til sårbarheter i kode. Løsninger basert på OpenAI Codex maskinlæringsplattform ble vurdert, for eksempel GitHub Copilot, som tillater generering av ganske komplekse kodeblokker, opp til ferdige funksjoner. Bekymringen er at siden ekte kode fra offentlige GitHub-lagre, inkludert de som inneholder sårbarheter, brukes til å trene maskinlæringsmodellen, kan den syntetiserte koden gjenta feil og foreslå kode som inneholder sårbarheter, og heller ikke tar hensyn til behovet for å utføre tilleggskontroll ved behandling av eksterne data.

47 frivillige med varierende erfaring innen programmering var involvert i studiet – fra studenter til fagfolk med ti års erfaring. Deltakerne ble delt inn i to grupper - eksperimentell (33 personer) og kontroll (14 personer). Begge gruppene hadde tilgang til alle biblioteker og Internett-ressurser, inkludert muligheten til å bruke ferdige eksempler fra Stack Overflow. Forsøksgruppen fikk muligheten til å bruke en AI-assistent.

Hver deltaker fikk 5 oppgaver knyttet til å skrive kode der det potensielt er lett å gjøre feil som fører til sårbarheter. For eksempel var det oppgaver med å skrive krypterings- og dekrypteringsfunksjoner, bruke digitale signaturer, behandle data involvert i dannelsen av filstier eller SQL-spørringer, manipulere store tall i C-kode, behandle input som vises på nettsider. For å vurdere virkningen av programmeringsspråk på sikkerheten til kode produsert ved bruk av AI-assistenter, dekket oppgavene Python, C og JavaScript.

Som et resultat ble det funnet at deltakere som brukte en intelligent AI-assistent basert på codex-davinci-002-modellen utarbeidet betydelig mindre sikker kode enn deltakere som ikke brukte en AI-assistent. Totalt sett var det kun 67 % av deltakerne i gruppen som brukte AI-assistenten som var i stand til å gi korrekt og sikker kode, mens i den andre gruppen var dette tallet 79 %.

Samtidig var selvfølelsesindikatorene motsatt - deltakere som brukte AI-assistenten trodde at koden deres ville være sikrere enn deltakerne fra den andre gruppen. I tillegg ble det bemerket at deltakere som stolte mindre på AI-assistenten og brukte mer tid på å analysere ledetekstene og gjøre endringer i dem, gjorde færre sårbarheter i koden.

For eksempel inneholdt kode kopiert fra kryptografiske biblioteker sikrere standardparameterverdier enn kode foreslått av AI-assistenten. Også, når du bruker AI-assistenten, ble valget av mindre pålitelige krypteringsalgoritmer og mangelen på autentiseringssjekker av returnerte verdier registrert. I en oppgave som involverer tallmanipulering i C, ble det gjort flere feil i koden skrevet ved hjelp av AI-assistenten, noe som førte til heltallsoverflyt.

I tillegg kan vi merke oss en lignende studie av en gruppe fra New York University, utført i november, som involverte 58 studenter som ble bedt om å implementere en struktur for å behandle en handleliste på C-språk. Resultatene viste liten innvirkning av AI-assistenten på kodesikkerhet - brukere som brukte AI-assistenten gjorde i gjennomsnitt omtrent 10 % flere sikkerhetsrelaterte feil.

Utforsk virkningen av AI-assistenter som GitHub Copilot på kodesikkerhet


Kilde: opennet.ru

Legg til en kommentar