Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Each language version is independently generated for its own context, not a direct translation.
"Gebroken bij Standaard": Wat deze studie ons vertelt over AI en veilige code
Stel je voor dat je een supersterke, ongelofelijk snelle kok hebt die elk recept dat je bedenkt, in een seconde kan maken. Je vraagt hem: "Maak een taart die veilig is voor mensen met een suikerallergie." Hij maakt direct een prachtige taart. Maar als je erin bijt, blijkt er toch suiker in te zitten. En niet alleen dat: de kok heeft dit elke keer gedaan, zelfs als je hem herhaaldelijk hebt gevraagd: "Zorg dat er geen suiker in zit!"
Dat is precies wat deze studie, getiteld "Broken by Default" (Gebroken bij Standaard), ontdekt heeft over de AI's die vandaag de dag programmeren voor ons.
Hier is de uitleg in gewone taal, met een paar handige vergelijkingen:
1. Het Experiment: De "Kookwedstrijd"
De onderzoekers (van Cobalt AI) hebben 7 van 's werelds slimste AI-programma's (zoals GPT-4o, Gemini en Claude) een uitdaging gegeven. Ze kregen 500 specifieke vragen over het schrijven van code voor veilige systemen (zoals wachtwoorden, banktransacties en geheugenbeheer).
- De vraag: "Schrijf een programma dat X doet."
- De taak: De AI moest de code schrijven alsof het voor een echte, veilige applicatie was.
- Het resultaat: Ze kregen in totaal 3.500 stukken code.
2. De Grote Ontdekking: De "Gaten" in de Muur
Normaal gesproken kijken mensen of software veilig is door te zoeken naar bekende fouten (zoals "oh, hier staat een slechte wachtwoordfunctie"). Maar deze onderzoekers gebruikten een heel andere methode: een wiskundige "super-rekenmachine" (Z3) die de code als een wiskundig probleem bekijkt.
Ze vroegen de rekenmachine: "Is er een manier om deze code te hacken?"
- Het schokkende antwoord: Ja. In 55,8% van de gevallen kon de code worden gehackt.
- De "Kwaliteitsscore": Als je dit als schoolcijfers zou zien, scoort de beste AI een D (Gemini 2.5 Flash) en de slechtste een F (GPT-4o). Geen enkele AI haalde een C of beter.
- De bewijzen: Het is geen gok. De rekenmachine gaf zelfs het exacte getal dat je moest invoeren om de code te laten crashen. En toen ze dat getal echt invoerden, crashte de software inderdaad, net als een auto die uit elkaar valt als je te hard over een drempel rijdt.
3. Waarom is dit zo erg? (De "Onzichtbare" Gaten)
Je zou denken: "Wacht, er zijn toch al tools die fouten vinden?"
De onderzoekers testten 6 beroemde, dure software-tools die bedrijven gebruiken om fouten te vinden.
- Het resultaat: Deze tools vonden slechts 7,6% van de fouten.
- De vergelijking: Stel je voor dat je een huis bouwt met een AI. De AI bouwt een muur met een gat van 1 meter breed. De bestaande tools kijken naar de muur en zeggen: "Ziet er prima uit!" terwijl de "super-rekenmachine" schreeuwt: "Er is een gat!"
- De oorzaak: De fouten die de AI maakt, zijn vaak heel subtiel (zoals een rekenfout bij het berekenen van hoeveel geheugen er nodig is). De oude tools zoeken naar bekende patronen, maar deze AI-fouten zijn wiskundig bewezen onmogelijk te vinden zonder de "super-rekenmachine".
4. De "Gezonde Verstand"-Paradox
Een van de meest verbluffende ontdekkingen is dit:
De onderzoekers gaven de AI's hun eigen foutieve code terug en vroegen: "Kijk eens naar deze code. Zie je een fout?"
- Het antwoord: De AI's zagen de fouten 79% van de tijd! Ze konden het probleem perfect analyseren.
- Het probleem: Maar toen ze de code moesten schrijven, maakten ze dezelfde fouten weer.
- De analogie: Het is alsof een kok die perfect kan vertellen waarom een taart niet goed is ("Je hebt te veel suiker gebruikt!"), maar die bij het bakken zelf weer te veel suiker toevoegt. Ze weten het, maar ze doen het niet.
5. Helpt "Wees voorzichtig" dan?
De onderzoekers probeerden het AI's te vertellen: "Schrijf veilige code, pas op voor gaten!"
- Het resultaat: Het hielp nauwelijks. De fouten bleven bijna even vaak voorkomen.
- De nuance: In een specifiek, kleiner experiment met slechts 50 prompts (een subgroep van de totale 500), zagen ze dat het geven van een veiligheidsinstructie de fouten met ongeveer 4 punten verminderde. Dit klinkt misschien als een verbetering, maar het betekent ook dat zelfs met die extra instructie de AI nog steeds in de meerderheid van de gevallen onveilige code produceerde.
- De les: Het probleem zit niet in de instructie, maar in hoe de AI is opgeleid. De AI heeft geleerd van bestaande code op internet, en daar zitten helaas al veel fouten in. De AI heeft deze fouten "geleerd" als normaal gedrag.
Wat betekent dit voor jou?
Als je AI gebruikt om software te schrijven (vooral voor veiligheid, bankzaken of kritieke systemen):
- Vertrouw niet blind: AI-code is standaard "gebroken" op het gebied van veiligheid.
- Geen snelle fix: Zeggen "maak het veilig" in je prompt lost het probleem niet op.
- Geen oude tools: De huidige software die fouten opzoekt, mist de meeste gevaren die door AI worden gemaakt.
- Menselijke controle is nodig: Je hebt echt een menselijke expert (of geavanceerde wiskundige controle) nodig om te checken of de code echt veilig is.
Kortom: AI is een geweldige assistent, maar op het gebied van veiligheid is het momenteel als een beginnende timmerman die mooie meubels maakt, maar vergeet te controleren of de schroeven stevig genoeg zijn. Totdat we betere manieren vinden om dit te controleren, moeten we elke AI-gegenereerde code behandelen alsof hij een verborgen valkuil heeft.
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.