← Nieuwste papers
🤖 AI

SecRepoBench: Benchmarking Code Agents for Secure Code Completion in Real-World Repositories

Dit paper introduceert SecRepoBench, een benchmark voor het evalueren van code-agenten op het gebied van veilige code-aanvulling in echte C/C++-repositories, waarbij wordt vastgesteld dat agenten aanzienlijk beter presteren dan standalone LLM's, hoewel er nog ruimte is voor verbetering.

Oorspronkelijke auteurs: Chihao Shen, Connor Dilgren, Purva Chiniya, Luke Griffith, Yu Ding, Yizheng Chen

Gepubliceerd 2026-02-17
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Chihao Shen, Connor Dilgren, Purva Chiniya, Luke Griffith, Yu Ding, Yizheng Chen

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 enorme, oude bibliotheek hebt vol met boeken die allemaal samenwerken om een complexe machine te bouwen. In deze bibliotheek werken duizenden schrijvers (de programmeurs) aan verschillende hoofdstukken. Nu komt er een nieuwe, superintelligente schrijfhulp (een AI-agent) die je helpt om zinnen af te maken terwijl je typt.

Het probleem? Deze AI is slim, maar soms schrijft hij zinnen die er grammaticaal perfect uitzien, maar die de machine laten exploderen of een diefstal mogelijk maken.

Dit is precies wat het onderzoek SecRepoBench onderzoekt. Hier is de uitleg in simpele taal, met een paar creatieve vergelijkingen:

1. Het Probleem: De "Slimme" Schrijfhulp die Gevaarlijk Kan Zijn

Vroeger testten we of AI goed code schreef door te kijken of het programma werkte (de machine liep). Maar dat was niet genoeg. Het was alsof je een auto testte om te zien of hij reed, maar je keek niet of de remmen wel werkten. De auto reed misschien, maar bij de eerste bocht zou hij uit elkaar vallen.

Bestaande tests waren vaak te makkelijk of deden alsof de AI alleen een losse zin moest schrijven, zonder de rest van de bibliotheek te kennen. In het echt moet de AI echter weten hoe zijn zin past in het hele boek, met alle andere hoofdstukken eromheen.

2. De Oplossing: SecRepoBench (De "Gevaren-Test")

De onderzoekers hebben SecRepoBench bedacht. Dit is een enorme, realistische testomgeving.

  • De Bibliotheek: Ze hebben 27 echte, populaire computerprojecten (C/C++ codebases) gebruikt. Dit zijn geen nep-voorbeelden, maar echte software die mensen dagelijks gebruiken.
  • De Opgave: De AI krijgt een stukje tekst dat ontbreekt in een zin en moet dat invullen. Maar er is een addertje onder het gras: als de AI het verkeerd invult, ontstaat er een veiligheidslek (zoals een open raam waar inbrekers door kunnen klimmen).
  • De Test: Na het invullen doen ze twee dingen:
    1. Werkt het? Ze draaien de bestaande tests van de programmeurs. (Rijdt de auto nog steeds?)
    2. Is het veilig? Ze gooien een "hack-poging" (een PoC) tegen de code. (Breekt de auto uit elkaar of wordt er ingebroken?)

Als de code werkt én veilig is, is het een geslaagde test.

3. De Resultaten: De AI-Agent vs. De Eenzame Schrijver

De onderzoekers hebben 29 verschillende AI-modellen getest, zowel als "eenzame schrijvers" (standalone LLMs) als als "agenten" die tools kunnen gebruiken om de hele bibliotheek te verkennen.

Hier zijn de belangrijkste bevindingen, vertaald naar alledaagse taal:

  • De Eenzame Schrijver Strijdt: Als je de AI alleen de zin geeft en vraagt hem te raden, faalt hij vaak. De beste AI (GPT-5) slaagde maar in 39% van de gevallen om zowel veilig als correct te zijn. Het is alsof je een schrijver vraagt een gevaarlijke brug te bouwen zonder de blauwdrukken te mogen bekijken.
  • De Agent is Beter, maar Niet Perfect: Als je de AI een "agent" maakt die de hele bibliotheek mag doorzoeken, tools mag gebruiken en vragen mag stellen, wordt hij veel beter. De beste combinatie haalde 53%.
    • De Metafoor: De agent is als een schrijver die niet alleen schrijft, maar ook de archivarist belt om te vragen: "Hoe werkt dit raamwerk precies?"
  • Het Grootste Probleem: Veiligheid is lastiger dan Correctheid: De agenten werden heel goed in het bouwen van een auto die rijdt (correctheid), maar ze vergaten vaak de remmen (veiligheid). Ze maakten de code functioneel, maar introduceerden soms nieuwe, subtiele lekken.
    • Vergelijking: Het is alsof de agent een prachtige, snelle auto bouwt, maar vergeet de gordel te installeren. De auto rijdt perfect, maar bij een crash is het dodelijk.

4. Waarom is dit zo moeilijk?

De AI maakt twee soorten fouten:

  1. Hallucinaties: De AI bedenkt woorden of functies die er niet zijn, alsof hij een verhaal verzint over een "blauwe olifant" terwijl er alleen een "rode auto" is. Dit zorgt voor compilatiefouten (de machine start niet).
  2. Verkeerde Veiligheidscontroles: De AI ziet dat er een veiligheidscheck nodig is, maar doet het verkeerd. Alsof hij een slot op de deur zet, maar de sleutel in het slot laat hangen.

Conclusie: Wat betekent dit voor ons?

De boodschap is duidelijk: AI is een krachtige hulpmiddel, maar we kunnen hem nog niet blindelings vertrouwen als het om veiligheid gaat.

SecRepoBench laat zien dat we AI-agenten nodig hebben die de context van een heel project begrijpen, maar zelfs dan moeten we nog steeds heel streng testen. Het is alsof we een nieuwe generatie architecten hebben die prachtige huizen bouwen, maar we moeten nog steeds een strenge veiligheidsinspecteur inhuren om te controleren of het dak niet instort.

De onderzoekers hopen dat deze test (SecRepoBench) helpt om de AI's te trainen om niet alleen "slimme" code te schrijven, maar ook "veilige" code, zodat de software van de toekomst niet alleen werkt, maar ook veilig blijft.

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 →