← Nieuwste papers
💻 computer science

WildCode Revisited: A Comprehensive Empirical Study on the Security of LLM-Generated Code

Deze studie valideert empirisch dat door ChatGPT gegenereerde code uit de echte wereld vaak een gebrek aan beveiliging vertoont, wat eerdere bevindingen uit synthetische experimenten bevestigt terwijl het onthult dat gebruikers zelden naar beveiligingsaspecten informeren wanneer zij om code vragen.

Oorspronkelijke auteurs: Kobra Khanmohammadi, Pooria Roy, Raphael Khoury, Abdelwahab Hamou-Lhadj, Wilfried Patrick Konan, Alexander Da Re, Nicholas Rebelo Melo

Gepubliceerd 2026-06-04
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Kobra Khanmohammadi, Pooria Roy, Raphael Khoury, Abdelwahab Hamou-Lhadj, Wilfried Patrick Konan, Alexander Da Re, Nicholas Rebelo Melo

Oorspronkelijk artikel vrijgegeven aan het publieke domein onder CC0 1.0 (http://creativecommons.org/publicdomain/zero/1.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een zeer getalenteerde, ongelooflijk snelle, maar enigszins naïeve assistent hebt die computercode voor je kan schrijven. Je vraagt om een recept en ze toveren binnen enkele seconden een maaltijd op tafel. Maar hier is de crux: ze hebben leren koken door miljoen kookboeken te lezen, maar ze zijn nooit daadwerkelijk in een keuken geweest en ze begrijpen niet echt waarom bepaalde ingrediënten gevaarlijk kunnen zijn als ze verkeerd worden gemengd.

Dit artikel, "WildCode Revisited," is als een enorme, echte gezondheidsinspectie van het eten dat deze assistent serveert. In plaats van de assistent te vragen om een specifieke testmaaltijd in een laboratorium te bereiden (wat de meeste eerdere studies deden), gingen de onderzoekers de "wildernis" in. Ze keken naar meer dan 82.000 echte gesprekken waarin gewone mensen deze AI (ChatGPT) vroegen om code voor hen te schrijven.

Hier is wat ze vonden, onderverdeeld in eenvoudige analogieën:

1. De "Wilde" Keuken versus de Testkeuken

De meeste eerdere studies waren als een kookprogramma waarbij de chef wordt gevraagd: "Maak een perfecte lasagne." De chef weet dat het een test is, dus doet hij zijn best.
Deze studie keek naar de WildChat-dataset, wat een 24-uurs diner is waar mensen bestellen wat ze willen, in welke taal ze ook spreken. De onderzoekers ontdekten dat wanneer mensen gewoon om code vragen zonder veiligheid te specificeren, de AI vaak gerechten serveert die vol gaten zitten. Het is alsof de assistent vergeet de achterdeur op slot te doen, waardoor het huis wagenwijd openstaat voor inbrekers (hackers).

2. Het Beveiligingslek

De onderzoekers traden op als beveiligingsinspecteurs en scant de code op veelvoorkomende fouten. Ze ontdekten dat de AI regelmatig het volgende serveert:

  • Zwakke Slotjes: Het gebruik van oude, gemakkelijk te kraken sloten (zwakke encryptie) in plaats van moderne, onbreekbare sloten.
  • Open Ramen: Ramen open laten staan zodat vreemden zo naar binnen kunnen lopen (SQL-injectie kwetsbaarheden).
  • Nep Ingrediënten: De AI verzint soms "ingrediënten" (softwarebibliotheken) die helemaal niet bestaan. Als je deze probeert te gebruiken, crasht je programma. Erger nog, een kwaadwillende actor zou een nep-ingrediënt met dezelfde naam kunnen creëren en zo een virus binnensluizen.
  • Breekbaar Glas: De code is vaak gemaakt van glas dat versplintert als je er op de verkeerde manier naar kijkt (geheugenveiligheidsproblemen), vooral in talen zoals C/C++.

De Grote Verrassing: Hoewel de code er uitziet alsof het werkt (het draait), zit het vaak vol met beveiligingsvallen. De AI is geweldig in het laten werken van dingen, maar slecht in het veilig maken ervan.

3. De Klanten Vragen Niet naar Veiligheid

De onderzoekers keken ook naar wat de klanten (de gebruikers) vroegen.

  • De "Fix het gewoon"-groep: De meeste mensen wilden gewoon dat de code werkte of wilden een bug oplossen. Ze waren als klanten die zeggen: "Maak me een broodje," zonder erbij na te denken of het brood schimmel bevat.
  • De Stilte over Veiligheid: Heel weinig mensen vroegen: "Is deze code veilig?" of "Zit er een achterdeurtje in?" Het is alsof klanten eten bestellen maar nooit vragen: "Is het vers?" of "Is er hier een gezondheidsinspecteur aanwezig?"
  • De "Beveiligings"-fout: Zelfs wanneer gebruikers wel om veilige code vroegen, luisterde de AI niet altijd, en de gebruikers controleerden niet altijd of de AI de code daadwerkelijk veilig had gemaakt.

4. Kunnen We de Assistent Beter Trainen? (Het "Prompt"-experiment)

De onderzoekers probeerden een paar trucjes om te zien of ze de AI veiliger maaltijden konden laten koken. Ze probeerden:

  • Rolspelen: De AI vertellen: "Gedraag je als een beveiligingsexpert." (Resultaat: Niet erg effectief. De AI deed alsof het een expert was, maar maakte nog steeds fouten.)
  • Waarschuwingslabels: De AI vertellen: "Deze code heeft beveiligingsproblemen." (Resultaat: Een beetje beter, maar geen wonder.)
  • Het "Spiekbriefje": De AI een lijst geven van specifieke fouten gevonden door een beveiligingsscanner en zeggen: "Los deze op." (Resultaat: Dit werkte het beste. Wanneer de AI precies werd getoond wat er mis was, verbeterde de AI de code veel beter.)

5. Het "Weigeringsspel"

Soms weigert de AI om code te schrijven als hij denkt dat de aanvraag gevaarlijk is (zoals het schrijven van een virus). De onderzoekers ontdekten dat gebruikers de AI soms konden foppen om gevaarlijke code te schrijven door dezelfde vraag op een iets andere manier te stellen. Het is als een kind dat vraelt: "Mag ik een koekje?" en een "Nee" krijgt, maar dan vraagt: "Mag ik een koekje als ik honger heb?" en een "Ja" krijgt. De veiligheidsfilters van de AI zijn niet zo sterk als we zouden hopen.

De Kern van het Verhaal

Deze studie is een reality check. Het laat zien dat hoewel AI geweldig is in het snel genereren van code, het momenteel geen veilig substituut is voor een menselijke beveiligingsexpert.

  • De Code: Bevat vaak verborgen vallen en zwakke plekken.
  • De Gebruikers: Vragen zelden naar veiligheid, in de veronderstelling dat de AI weet wat hij doet.
  • De Oplossing: We kunnen de AI niet simpelweg vertellen om "veilig te zijn". We moeten het specifieke feedback geven over wat er mis is (zoals een beveiligingsscanner) om het te helpen de gaten te dichten.

De conclusie van het artikel is dat we ons haasten om deze tools te gebruiken, maar dat we dit doen zonder de sloten op de deuren te controleren. We moeten veel voorzichtiger en proactiever zijn over beveiliging voordat we AI de code laten schrijven die onze wereld aanstuurt.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →