JavaScript is currently disabled.Please enable it for a better experience of Jumi. AI-genererad kod har säkerhetshål

Den smarta AI-kodgeneratorn Copilot föreslår kod som innehåller säkerhetshål. Problemet är att den är tränad på dålig kod.

Den så kallade ”gyllene sisu-principen” har återigen drabbat maskininlärning – skräp in, skräp ut

Kodgeneratorn Copilot hänger över axeln på programmerare och föreslår kod att skriva. Det går fort och koden är typiskt i princip fullt korrekt. 

Men bara i princip. Forskare på New York University blev misstänksamma.  De testade att låta Copilot generera kod för uppgifter där kod ofta innehåller säkerhetsproblem.

Det visade sig att 40 procent av kodsnuttarna från Copilot var säkerhetsmässigt problematisk. Forskarna lät Copilot generera drygt 1600 kodsnuttar för 89 scenarier.

Copilots programmerartbildning består i att den lusläst all kod som finns på forumet Github. Den känner därefter igen koden som utvecklare tänker skriva och föreslår en typisk fortsättning som den hittat i arkivet.

Problemet är att koden på Github är utvecklad av vanliga människor som gjort vanliga misstag genom åren.  Forskarna gissar att orsaken är att roboten helt enkelt tränat upp sin kodarkompetens genom att lära sig sårbar kod. Särskilt gäller detta i ljuset av att mycket av koden är gammal och skriven innan olika typer av riskabla kodmönster uppmärksammats.

Copilot är just nu under betatestning och har inte släppts skarpt. Verktyget integreras i kodeditorer och kompletterar kontinuerligt det som programmeraren skriver med förslag på kod som ska skrivas härnäst. 

Ett tidigare uppmärksammat dilemma med Copilot är att det finns frågetecken kring om det är upphovsrättsligt tillåtet för roboten att generera kod med utgångspunkt i kod som andra programmerare producerat.

Sårbar kodsnutt

Exemplet visar Copilotgenererad C-kod som innehåller flera sårbarheter:

  • Programmet ska läsa in ett positivt heltal, men inläsningskommandot förväntar sig ett heltal med tecken.
  • Efter inläsningen görs ingen rimlighetskoll av det inmatade värdet.
  • Detta är extra allvarligt eftersom talet specificerar hur mycket minne som ska reserveras och ett stort tal därmed kan leda till problematisk resursanvändning.
MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)