Tankeledare

AI-genererad kod är här för att stanna. Är vi mindre säkra som ett resultat?

mm
Lägg till Unite.AI bland dina föredragna källor på Google

Att koda år 2025 handlar inte om att slita över kodfragment eller tillbringa långa timmar med felsökning. Det är en helt annan vibe. AI-genererad kod kommer att utgöra majoriteten av koden i framtida produkter och har blivit ett essentiellt verktyg för den moderna utvecklaren. Känd som “vibe coding”, användningen av kod genererad av verktyg som Github Copilot, Amazon CodeWhisperer och Chat GPT kommer att vara normen och inte undantaget när det gäller att minska byggtiden och öka effektiviteten. Men medför bekvämligheten med AI-genererad kod en större risk? Ökar generativ AI sårbarheter i säkerhetsarkitekturen eller finns det sätt för utvecklare att “vibe code” på ett säkert sätt?

“Säkerhetsincidenter som ett resultat av sårbarheter i AI-genererad kod är ett av de minst diskuterade ämnena idag”, sa Sanket Saurav, grundare av DeepSource. “Det finns fortfarande mycket kod genererad av plattformar som Copilot eller Chat GPT som inte granskas av människor, och säkerhetsbrott kan vara katastrofala för de företag som påverkas.”

Utvecklaren av en öppen källkodsplattform som använder statisk analys för kodkvalitet och säkerhet, Saurav citerade SolarWinds-hacket 2020 som ett exempel på den typ av “utdöendehändelse” som företag kan stå inför om de inte har installerat rätt säkerhetsåtgärder när de använder AI-genererad kod. “Statisks analys möjliggör identifiering av osäkra kodmönster och dåliga programmeringspraxis”, sa Saurav.

Angrepp genom biblioteket

Säkerhetshot mot AI-genererad kod kan ta kreativa former och kan riktas mot bibliotek. Bibliotek i programmering är användbara återanvändbara kod som utvecklare använder för att spara tid när de skriver.

De löser ofta vanliga programmeringsuppgifter som hantering av databasinteraktioner och hjälper programmerare att inte behöva skriva kod från scratch.

Ett sådant hot mot bibliotek kallas “hallucinationer”, där AI-genererad kod visar en sårbarhet genom att använda fiktiva bibliotek. Ett annat, mer nyligt, angrepp på AI-genererad kod kallas “slopsquatting” där angripare kan rikta sig direkt mot bibliotek för att infiltrera en databas.

Att hantera dessa hot kräver kanske mer medvetenhet än vad som antyds av termen “vibe coding”. Professor Rafael Khoury har följt utvecklingen inom säkerheten för AI-genererad kod och är övertygad om att nya tekniker kommer att förbättra dess säkerhet.

I en artikel från 2023 undersökte Professor Khoury resultaten av att be ChatGPT att producera kod utan ytterligare kontext eller information, en praxis som ledde till osäker kod. Det var de tidiga dagarna av Chat GPT och Khoury är nu optimistisk om framtiden. “Sedan dess har det varit mycket forskning som granskas just nu och framtiden ser ut att bli en strategi för att använda LLM som kan leda till bättre resultat”, sa Khoury och tillade att “säkerheten blir bättre, men vi är inte på en plats där vi kan ge en direkt prompt och få säker kod.”

Khoury beskrev en lovande studie där de genererade kod och sedan skickade denna kod till ett verktyg som analyserade den för sårbarheter. Metoden som användes av verktyget kallas Finding Line Anomalies with Generative AI (eller FLAG för kort).

“Dessa verktyg skickar FLAGs som kan identifiera en sårbarhet i rad 24, till exempel, som en utvecklare sedan kan skicka tillbaka till LLM med informationen och be den att undersöka och åtgärda problemet”, sa han.

Khoury föreslog att denna fram- och tillbaka-kommunikation kan vara avgörande för att åtgärda kod som är sårbar för angrepp. “Denna studie visar att med fem iterationer kan man minska sårbarheterna till noll.”

Detta sagt, så är FLAG-metoden inte utan problem, särskilt eftersom den kan ge upphov till både falska positiva och falska negativa resultat. Dessutom finns det begränsningar i den längd av kod som LLM kan skapa och handlingen att kombinera fragment kan lägga till ett extra lager av risk.

Att hålla människan i loopet

Vissa aktörer inom “vibe coding” rekommenderar att man bryter ner koden och ser till att människor är i fokus i de viktigaste redigeringarna av en kodbas. “När du skriver kod, tänk i termer av commits”, sa Kevin Hou, chef för produktutveckling på Windsurf, och betonade visdomen i mindre bitar.

“Bryt ner ett stort projekt i mindre delar som normalt skulle vara commits eller pull requests. Låt agenten bygga den mindre skalan, en isolerad funktion i taget. Detta kan säkerställa att koden är väl testad och väl förstådd”, tillade han.

Vid tidpunkten för skrivandet hade Windsurf närmat sig över 5 miljarder rader AI-genererad kod (genom dess tidigare namn Codeium). Hou sa att den mest pressande frågan de besvarade var om utvecklaren var medveten om processen.

“AI:n kan göra många redigeringar över många filer samtidigt, så hur kan vi säkerställa att utvecklaren faktiskt förstår och granskar vad som händer, snarare än att bara blint acceptera allt?” frågade Hou och tillade att de hade investerat tungt i Windsurfs UX “med en massa intuitiva sätt att hålla fullständig kontakt med vad AI:n gör, och att hålla människan fullständigt i loopet.”

Det är därför, när “vibe coding” blir mer mainstream, som människorna i loopet måste vara mer försiktiga med dess sårbarheter. Från “hallucinationer” till “slopsquatting”-hot, utmaningarna är verkliga, men lösningarna också.

Nya verktyg som statisk analys, iterativ förbättringsmetoder som FLAG och genomtänkt UX-design visar att säkerhet och hastighet inte behöver vara ömsesidigt uteslutande.

Nyckeln ligger i att hålla utvecklare engagerade, informerade och i kontroll. Med rätt säkerhetsåtgärder och en “lita men verifiera”-inställning kan AI-assisterad kodning vara både revolutionerande och ansvarsfull.

Arjun Harindranath är en frilansjournalist baserad i Medellin, Colombia, som täcker berättelser om konflikt, migration och teknik för en global publik. Tidigare artiklar inkluderar Al Jazeera, TechCrunch, The Next Web och New York Times.