← Nieuwste papers
💻 computer science

Bridging Code Property Graphs and Language Models for Program Analysis

Dit paper introduceert codebadger, een open-source Model Context Protocol-server die Joern's Code Property Graph-engine integreert met grote taalmodellen om complexe beveiligingskwetsbaarheden in volledige codebases te analyseren, te ontdekken en te patchen zonder de beperkingen van tokenlimieten of geïsoleerde codefragmenten.

Oorspronkelijke auteurs: Ahmed Lekssays

Gepubliceerd 2026-03-27
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Ahmed Lekssays

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

Samenvatting: Hoe we AI helpen om veiligheidslekken in code te vinden zonder de hele bibliotheek te lezen

Stel je voor dat je een gigantische bibliotheek binnenstapt met 8.000 boeken (dit is de computercode van een groot programma). Je wilt weten of er een gevaarlijk lek in zit, bijvoorbeeld een deur die niet goed sluit.

Het probleem met de huidige AI
Huidige kunstmatige intelligenties (LLMs) zijn slim, maar ze hebben een groot nadeel: ze kunnen niet alles tegelijk onthouden. Ze hebben een "geheugenlimiet". Als je ze vraagt om het hele gebouw te inspecteren, raken ze in de war of moeten ze stoppen omdat ze te veel informatie hebben. Ze proberen dan maar een paar bladzijden uit één boek te lezen. Het probleem? Vaak zit het gevaar niet in één zin, maar in hoe twee verschillende boeken met elkaar verbonden zijn. De AI mist dan de link tussen de ene en de andere kant van het gebouw.

Daarnaast is het voor de AI heel moeilijk om zelf de specifieke "zoekopdrachten" te schrijven die nodig zijn om die verborgen verbindingen te vinden. Het is alsof je iemand vraagt om een heel complex archiefsysteem te doorzoeken, maar ze hebben geen idee hoe je de kaarten moet gebruiken.

De oplossing: Codebadger (De Slimme Boekbode)
De auteur van dit paper, Ahmed Lekssays, heeft een tool bedacht die Codebadger heet. Je kunt je dit voorstellen als een super-slimme boekbode die werkt in die gigantische bibliotheek, maar dan voor de AI.

In plaats van dat de AI zelf moet proberen de hele bibliotheek te lezen of zelf de ingewikkelde archiefkaarten moet schrijven, geeft Codebadger de AI een setje speciale gereedschappen.

Hier zijn de drie belangrijkste gereedschappen, vertaald naar alledaagse taal:

  1. De "Taint Tracker" (De Vervuilde Stroom):
    Stel je voor dat er een druppel giftig water (een hackersaanval) in een kraan valt. De AI moet nu weten: "Waar gaat dit water naartoe?"

    • Zonder Codebadger: De AI moet elke pijp in het hele gebouw één voor één controleren.
    • Met Codebadger: De AI zegt: "Zoek alle pijpen die dit giftige water transporteren." De tool doet het zware werk en toont direct alleen die specifieke pijpen. De AI ziet direct: "Ah, hier stroomt het giftige water rechtstreeks naar een kwetsbare tank!"
  2. De "Program Slicer" (De Snijmachine):
    Als je een probleem vindt in een machine, wil je niet de hele fabriek zien, maar alleen de onderdelen die direct bij dat probleem horen.

    • Met Codebadger: De AI vraagt: "Geef me alleen de onderdelen die nodig zijn om dit ene knopje te laten werken." De tool knipt alles weg wat niet belangrijk is. De AI krijgt een klein, overzichtelijk stukje code waar het probleem duidelijk zichtbaar is, zonder dat het geheugen volloopt.
  3. De "Call Graph" (Het Stroomdiagram):
    Dit is een kaart die laat zien welke functie (of persoon) wie belt.

    • Met Codebadger: De AI kan vragen: "Wie belt wie?" en krijgt direct een visuele kaart. Zo ziet de AI dat Functie A iets doet, wat Functie B doet, wat Functie C laat exploderen. Zonder deze kaart zou de AI denken dat A en C niets met elkaar te maken hebben.

Wat heeft dit opgeleverd? (De proefjes)
De auteur heeft getoond dat dit werkt met drie echte voorbeelden:

  • Het grote onderzoek: De AI keek naar een enorme code-bibliotheek (8.000 methoden) en vond veiligheidslekken die normaal gesproken onzichtbaar zouden zijn gebleven omdat ze over meerdere bestanden verspreid waren.
  • Het nieuwe lek: De AI vond een nieuw, nog niet bekend lek in een foto-software (libtiff). Het kon precies uitleggen hoe een hacker de software kon laten crashen en zelfs een "bewijs" (een exploit) maken.
  • De reparatie: De AI kreeg een bekend lek (CVE-2025-6021) in een XML-software. Met de hulp van de gereedschappen schreef de AI in één keer de perfecte reparatie, precies zoals de originele ontwikkelaars het later ook zouden doen.

Conclusie
Kortom: Codebadger is de brug tussen de slimme, maar soms vergetelijke AI en de complexe, technische wereld van softwarebeveiliging. Het geeft de AI de juiste gereedschappen om niet blindelings te gissen, maar om als een ervaren detective te werken: het zoeken naar de verbindingen, het volgen van de sporen en het vinden van de oplossing, zelfs in de grootste en ingewikkeldste gebouwen van code.

Dit maakt het mogelijk om software veiliger te maken, sneller lekken te vinden en reparaties te maken, zonder dat de AI overbelast raakt door te veel informatie.

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 →