← Nieuwste papers
💻 computer science

Persistent Human Feedback, LLMs, and Static Analyzers for Secure Code Generation and Vulnerability Detection

Dit artikel toont aan dat statische analyse-instrumenten zoals CodeQL en Semgrep significante discrepanties vertonen wanneer deze worden vergeleken met door mensen gevalideerde grondwaarheid voor door LLM's gegenereerde code, wat een voorgesteld raamwerk motiveert dat persistente menselijke feedback integreert in een dynamische retrieval-augmented generation pipeline om veilige codegeneratie en kwetsbaarheidsdetectie te verbeteren.

Oorspronkelijke auteurs: Ehsan Firouzi, Mohammad Ghafari

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

Oorspronkelijke auteurs: Ehsan Firouzi, Mohammad Ghafari

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 zeer getalenteerde, snelle maar onervaren leerling-kok (de LLM) inhuurt om een complexe maaltijd te bereiden. Je wilt dat het eten veilig is om te eten (veilige code), dus je vraagt de chef om het gerecht te koken en het vervolgens te controleren aan de hand van een regelboek.

Hier is het verhaal van wat de onderzoekers hebben gevonden en wat ze voorstellen om het op te lossen, verteld via eenvoudige analogieën.

1. Het Probleem: Het "Regelboek" versus de "Expert"

In de wereld van coderen hebben we twee manieren om te controleren of een recept veilig is:

  • Het Regelboek (Statische Analysers): Tools zoals CodeQL en Semgrep zijn als automatische spellingcontroleurs of scanners voor voedingslabels. Ze scannen de code op bekende gevaarlijke ingrediënten (kwetsbaarheden).
  • De Expert-Chef (Menselijke Feedback): Een echte mens die het gerecht proeft, de context begrijpt en weet dat een ingrediënt er op het label weliswaar veilig uit kan zien, maar nog steeds giftig kan zijn als het op een bepaalde manier wordt gemengd.

De Studie:
De onderzoekers vroegen een AI-chef om 1.080 verschillende gerechten (codesamples) te bereiden die veilig zouden moeten zijn. Vervolgens lieten ze een menselijke expert elk gerecht proeven om de "Waarheid" vast te stellen.

  • De Waarheid: 61% van de gerechten was daadwerkelijk veilig.
  • Het Oordeel van het Regelboek:
    • Semgrep zei dat 60% veilig was. (Dit ziet er op papier goed uit!)
    • CodeQL zei dat 80% veilig was. (Dit ziet er zelfs nog beter uit!)

De Twist:
Toen de onderzoekers naar individuele gerechten keken, zat het Regelboek er vaak naast.

  • Semgrep stemde slechts in 65% van de gevallen overeen met de menselijke expert.
  • CodeQL stemde slechts overeen in 61% van de gevallen.

De Metafoor:
Stel je een beveiligingsbeambte voor die mensen controleert die een gebouw binnenkomen.

  • De bewaker kan een gevaarlijk persoon binnenlaten omdat deze een mooi pak draagt (een False Negative).
  • Of de bewaker kan een onschadelijk persoon tegenhouden omdat deze een tas bij zich heeft die er verdacht uitziet (een False Positive).

Het artikel betoogt dat vertrouwen op alleen de beveiligingsbeambte (de statische analyzer) gevaarlijk is. Zelfs als de bewaker het "gemiddelde" aantal goed krijgt, maakt hij fouten in specifieke, kritieke gevallen. We hebben de menselijke expert nodig om in te grijpen.

2. De Kloof in Huidig Onderzoek

De onderzoekers keken naar honderden andere studies over AI en beveiliging. Ze vonden een patroon:

  • Taalbias: De meeste studies testen de AI alleen op Python (voor het bereiden van recepten) of C/C++ (voor het bouchten van motoren). Ze testen zelden andere talen.
  • Tool-afhankelijkheid: Bijna iedereen gebruikt het "Regelboek" (statische tools) om de AI te beoordelen. Zeer weinig studies laten daadwerkelijk een mens de smaaktest doen.
  • Het "Geheugenprobleem": Wanneer een menselijke expert een fout ontdekt, herstelt hij deze voor dat specifieke gerecht. Maar zodra de expert vertrekt, vergeet de AI de les. De volgende keer dat de AI een vergelijkbaar gerecht bereidt, maakt hij dezelfde fout opnieuw.

3. De Oplossing: Het "Smart Library" Framework

De auteurs stellen een nieuwe manier van werken voor, die zij een Human-in-the-Loop (HIL) Framework noemen. Denk hierbij aan het geven van een Smart Library (Slimme Bibliotheek) aan de AI-chef die nooit vergeet.

Zo werkt het nieuwe systeem:

  1. De Prompt Agent (De Besteller): Wanneer je de AI vraagt om te koken, controleert deze agent eerst de Smart Library. Hij vraagt: "Hebben we dit eerder gekookt? Heeft de menselijke expert iets gezegd over dit specifieken ingrediënt?" Hij voegt dat advies toe aan de instructies voor de chef.
  2. De Security Agent (De Eerste Proeverij): De AI bereidt het gerecht. De Security Agent (het Regelboek) scant het eerst.
  3. De Human Agent (De Chef de Cuisine): Dit is de cruciale stap. Een menselijke expert beoordeelt het rapport van de Security Agent.
    • Als de Security Agent zegt "Veilig" maar de Mens zegt "Gevaarlijk", dan corrigeert de Mens het.
    • De Magische Stap: De feedback van de Mens is niet slechts een eenmalige correctie. Het wordt permanent opgeslagen in de Smart Library.
  4. De Vertrouwensscore (Trust Score): Niet alle adviezen in de bibliotheek zijn gelijkwaardig.
    • Als twee experts het eens zijn over een stuk advies, krijgt het een hoge "Trust Score".
    • Als het advies in het verleden veelvuldig succesvol is gebruikt, stijgt de score.
    • Als het advies nieuw is, wacht het in een "staging area" tot twee experts het hebben goedgekeurd. Dit voorkomt dat slecht (of "vergiftigd") advies de bibliotheek binnendringt.

4. Waarom Dit Er Toe Doet

Het artikel concludeert dat we niet simpelweg de geautomatiseerde tools (het Regelboek) kunnen vertrouwen om te vertellen of door AI gegenereerde code veilig is. Ze zitten te vaak naast op de details.

In plaats daarvan hebben we een systeem nodig waarbij:

  • Mensen de uiteindelijke rechters zijn.
  • Menselijke lessen voor altijd worden bewaard.
  • De AI leert van eerdere menselijke correcties, zodat hij niet twee keer dezelfde fout maakt.

Kortom: De AI is snel, de tools zijn goed in scannen, maar de menselijke expert is de enige die de context echt begrijpt. Door een systeem te bouren dat onthoudt wat de menselijke expert zegt, kunnen we door AI gegenereerde code veel veiliger maken.

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 →