← Nieuwste papers
💻 informatica

SemanticVul: Evidence-Grounded Structured LLM Explanations for Vulnerability Detection

SemanticVul is een reproduceerbaar framework voor de detectie van kwetsbaarheden in C/C++ dat gebruikmaakt van lokaal gegenereerde, op bewijslast gebaseerde semantische verklaringen om de nauwkeurigheid en de recall van minderheidsklassen aanzienlijk te verbeteren ten opzichte van bestaande baselines, terwijl claims rigoureus worden gevalideerd door middel van deterministische code-matching en datasetauditing.

Oorspronkelijke auteurs: Abdul Razak, Ihtesham Ul Islam, Rabia Khan

Gepubliceerd 2026-10-15
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Abdul Razak, Ihtesham Ul Islam, Rabia Khan

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://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

Softwarekwetsbaarheden zijn de verborgen barsten in de digitale wereld, de kleine fouten in code die aanvallers in staat stellen om systemen binnen te dringen, gegevens te stelen of chaos te veroorzaken. Omdat moderne software in enorme volumes wordt geschreven, vaak in talen zoals C en C++ die krachtig maar gevoelig voor deze fouten zijn, kunnen menselijke experts niet mogelijk elke regel lezen om de zwakke plekken te vinden. Om bij te blijven, hebben onderzoekers zich tot kunstmatige intelligentie gewend, specifiek grote taalmodellen, wat computerprogramma's zijn die zijn getraind op enorme hoeveelheden tekst en code om patronen en betekenis te begrijpen. Deze modellen kunnen een stuk software lezen en uitleggen wat het doet, wat een nieuwe manier biedt om gevaarlijke gebreken automatisch op te sporen. Echter, er is een aanzienlijk probleem ontstaan: wanneer deze modellen worden gevraagd om code uit te leggen, verzinnen ze soms details die er niet zijn of onbedoeld het antwoord onthullen voordat de analyse zelfs maar is voltooid, waardoor hun hulp onbetrouwbaar is voor kritiek beveiligingswerk.

Een team van onderzoekers aan de National University of Sciences and Technology in Pakistan heeft een nieuw systeem ontwikkeld genaamd SemanticVul om dit probleem op te lossen. In plaats van te vertrouwen op dure, commerciële AI-diensten die vrije, ongeverifieerde tekst genereren, gebruikt hun systeem een lokaal draaiend, open-source model om gestructureerde, op bewijs gebaseerde verklaringen te produceren. De onderzoekers bouwden een pijplijn waarin de AI naar specifieke regels code moet wijzen om elke bewering die het maakt over een beveiligingsrisico te onderbouwen. Als de AI de code waarover het spreekt niet kan vinden, verwerpt het systeem die bewering. Ze hebben deze aanpak vervolgens getest op twee belangrijke collecties van real-world softwarefuncties, bekend als Devign en Reveal, om te zien of deze gegronde, op bewijs gebaseerde methode meer kwetsbaarheden kon vinden dan eerdere technieken.

De resultaten laten zien dat deze zorgvuldige, eerst-bewijs-aanpak aanzienlijk beter werkt dan de standaardmethoden die momenteel in gebruik zijn. Op de Reveal-dataset, die een zeer klein aantal kwetsbare functies bevat gemengd met veel veilige functies, verbeterde het nieuwe systeem het vermogen om die zeldzame gevaarlijke functies te vinden van ongeveer 40 procent naar 63 procent. Dit is een cruciale verbetering, omdat het missen van een kwetsbaarheid in een echt systeem catastrofaal kan zijn. Het systeem slaagde er ook in om het aantal keren dat het waarschuwingen correct koppelde aan werkelijke codefragmenten te verdubbelen, terwijl het het aantal keren dat het hallucineerde of codeverwijzingen verzon, met de helft verminderde. Door de AI te dwingen zich aan de feiten in de code te houden en taal weg te schrappen die per ongeluk het antwoord zou kunnen weggeven, hebben de onderzoekers een betrouwbaardere en effectievere tool voor beveiligingsanalyse gecreëerd.

De onderzoekers verkenden ook hoe ze de ruwe codedata het beste konden combineren met deze nieuwe verklaringen. Ze testten drie verschillende manieren om deze informatie samen te voegen: het gebruik van alleen de code, het mengen van de code en de verklaring met een vaste methode, en het gebruik van een slimme schakelaar die voor elk stuk code beslist hoeveel gewicht aan de verklaring te geven. Hoewel de slimme schakelaar in sommige eerste tests iets beter presteerde, was de verbetering niet consistent genoeg om als een definitieve doorbraak te worden beschouwd. De meest betrouwbare bevinding was dat het verklaringskanaal zelf — het deel dat de op bewijs gebaseerde redenering levert — de primaire drijfveer van het succes was. Het systeem bewees dat wanneer je de gokwerk weglaat en de AI dwingt zijn redenering te verankeren in de werkelijke tekst van het programma, het een veel krachtiger detectiemiddel voor beveiligingsfouten wordt.

Naast het simpelweg vinden van bugs, bracht de studie ook problemen aan het licht met de datasets die worden gebruikt om deze systemen te trainen en te testen. De onderzoekers ontdekten dat sommige standaard benchmarks duplicerende code bevatten met tegenstrijdige labels, waarbij dezelfde functie in verschillende delen van de data zowel als veilig als als gevaarlijk werd gemarkeerd. Dit soort fouten kan een computer misleiden tot het denken dat hij iets heeft geleerd wat hij in werkelijkheid niet heeft geleerd. Door deze datasets te auditeren en de tegenstrijdigheden eruit te filteren, zorgde het team ervoor dat hun resultaten gebaseerd waren op werkelijk leren in plaats van op het memoriseren van fouten. Deze aandacht voor datakwaliteit, gecombineerd met de nieuwe methode voor het genereren van verklaringen, suggereert een pad voorwaarts voor het bouwen van meer betrouwbare beveiligingstools die niet alleen gokken, maar de code die ze beschermen daadwerkelijk begrijpen.

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 →