← Nieuwste papers
🤖 machine learning

An Empirical Study of Security Calibration in Large Language Models for Code

Dit artikel presenteert de eerste grootschalige empirische studie die onthult dat grote taalmodellen een wijdverbreide overmoed vertonen in hun gegenereerde code, waarbij de functionele kalibratie consistent slechter is dan de beveiligingskalibratie, en dat hoewel kalibratiegestuurde reparatie en architecturale gating beperkte voordelen bieden, ze er vaak niet in slagen om hoog-betrouwbare kwetsbaarheden in realistische repository-niveau contexten te voorkomen.

Oorspronkelijke auteurs: Mohammed Latif Siddiq, Md. Nafiu Rahman, Joanna C. S. Santos

Gepubliceerd 2026-07-01
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Mohammed Latif Siddiq, Md. Nafiu Rahman, Joanna C. S. Santos

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.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 team hebt van zeer getalenteerde, maar licht overmoedige junior programmeurs. Je vraagt hen code te schrijven die de beveiliging van je digitale huis waarborgt. Ze schrijven de code en vertellen je vervolgens met een grote glimlach: "Ik weet voor 95% zeker dat dit veilig is!"

Dit artikel is als een realitycheck voor dat scenario. De onderzoekers vroegen zich af: Weten deze AI-programmeurs eigenlijk wanneer ze het fout hebben, of zeggen ze gewoon vol vertrouwen dat ze het goed hebben, zelfs als ze gevaarlijke fouten maken?

Hier is de uitsplitsing van hun bevindingen met behulp van eenvoudige analogieën:

1. Het probleem van de "Zelfverzekerde Fout"

De studie toonde aan dat deze AI-modellen lijden aan Vals Vertrouwen.

  • De Analogie: Stel je een weervoorspeller voor die zegt: "Er is 90% kans op zonneschijn," maar het regent elke keer dat hij dit zegt.
  • De Bevinding: Wanneer de AI code genereert met een kwetsbaarheid (zoals een achterdeur voor hackers), beweert de AI vaak met 90% of 95% zekerheid dat de code veilig is. In werkelijkheid is de code vaak onveilig. De AI is als een bestuurder die door een rood licht rijdt terwijl hij zelfverzekerd volhoudt: "Ik weet zeker dat ik het haal."

2. De verrassing van "Veilig versus Werkend"

Een van de meest interessante ontdekkingen ging over waar de AI over in de war raakt.

  • De Analogie: Denk aan een chef-kok.
    • Functionele Correctheid: Smaakt het gerecht goed en volgt het het recept?
    • Beveiliging: Is de keuken vrij van gif?
  • De Bevinding: De AI is eigenlijk beter in het weten of zijn "gif" (beveiligingsfouten) aanwezig is, dan in het weten of het "gerecht" (de functionele code) werkt.
    • De AI realiseert zich vaak niet dat zijn code kapot is (het werkt niet), maar is iets beter in het beseffen of hij per ongeluk "gif" in de code heeft achtergelaten.
    • Waarom? De onderzoekers suggereren dat "werkende" code afhankelijk is van verborgen, complexe zaken (zoals specifieke softwareversies of verborgen instellingen) die de AI niet kan zien. Maar "beveiligingsfouten" zijn vaak zichtbare patronen (zoals het gebruik van een bekende gevaarlijke tool) die de AI makkelijker kan herkennen, ook al overschat hij zijn eigen vaardigheid nog steeds.

3. De "Solo-act" versus "Het Grote Orkest"

De onderzoekers testten de AI in twee verschillende omgevingen:

  • Omgeving A (Zelfvoorzienend): De AI vragen om een enkele, geïsoleerde functie te schrijven (zoals een solo pianospeler).
  • Omgeving B (Repository-niveau): De AI vragen om een bug te repareren in een enorm, echt softwareproject met duizenden bestanden en afhankelijkheden (zoals een heel orkest dat samen speelt).
  • De Bevinding: De zelfverzekerdheid van de AI stortte in in de "Grote Orkest"-omgeving.
    • In de solo-setting was de AI overmoedig, maar enigszins beheersbaar.
    • In de echte wereld werd de AI extreem overmoedig. De AI beweerde bijvoorbeeld 90% zeker te zijn dat zijn fix werkte, maar omdat hij het complexe web van andere bestanden niet begreep, maakte de fix het hele systeem kapot of liet de beveiligingslek open. De complexiteit van de echte wereld maakte de "zelfverzekerdheidsmeter" van de AI volkomen nutteloos.

4. Kunnen we de AI "repareren"?

De onderzoekers probeerden de eigen zelfverzekerdheid van de AI te gebruiken om zijn fouten te herstellen.

  • De Strategie: "Als de AI zegt dat hij slechts 40% zeker is, laten we hem dan opnieuw proberen."
  • Het Resultaat: Dit werkte niet goed.
    • De Analogie: Het is alsoak je een verwarde bestuurder vraagt om "opnieuw te proberen" door een doolhof te navigeren. In plaats van het juiste pad te vinden, rijden ze vaak tegen een muur aan (waardoor de functionaliteit van de code breekt).
    • De Specifieke Barrière: De studie vond dat sommige beveiligingslekken lijken op een gesloten deur die een specifieke sleutel nodig heeft (het vervangen van een gevaarlijke tool door een veilige). De AI is erg slecht in het wisselen van deze sleutels. Hij probeert eerder een "Niet betreden"-bordje op de deur te hangen (een waarschuwing toevoegen) in plaats van daadwerkelijk het slot te veranderen. Dit wordt een "Rigiditeitsbarrière" genoemd.

5. Hoe lossen we het vertrouwensprobleem op?

De onderzoekers testten een paar manieren om te voorkomen dat we de AI blindelings vertrouwen:

  • De "Poortwachter"-methode (Meest effectief): Vraag de AI niet eerst: "Is dit veilig?", maar vraag eerst: "Draait deze code daadwerkelijk?"
    • Als de code niet draait, gooi deze dan onmiddellijk weg.
    • Resultaat: Dit verminderde aanzienlijk hoe vaak de AI "zelfverzekerd fout" was over de beveiliging. Het is alsof je controleert of een auto een motor heeft voordat je de bestuurder vraagt of de remmen werken.
  • De "Voorbeeld"-methode (Minder effectief): De AI voorbeelden van goede code laten zien.
    • Resultaat: De AI leerde het patroon van de "goede code", maar slaagde er vaak niet in om dit in het specifieke project te passen, waardoor het systeem in de proces brak.

De Kernboodschap

Het artikel concludeert dat we de "zelfverzekerdheidsscore" van de AI niet kunnen vertrouwen als een garantie voor veiligheid.

  • De AI is vaak overmoedig, vooral in complexe, echte projecten.
  • De zelfverzekerdheid van de AI is een slechte indicator voor de vraag of de code daadwerkelijk veilig is.
  • De beste aanpak is om de output van de AI te behandelen als een conceptversie die rigoureus getest moet worden (gecontroleerd op fouten en beveiligingsgebreken) door mensen of geautomatiseerde tools, in plaats van het simpelweg te accepteren omdat de AI zegt: "Ik weet zeker dat dit klopt."

Kortom: Laat je niet misleiden door het zelfvertrouwen van de AI. Zelfs als het zeker klinkt, kan het fout zijn.

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 →