← Nieuwste papers
🤖 machine learning

FuzzingBrain-Bench V1: Evaluating Open-Ended Bug Discovery by LLMs

Dit artikel introduceert FuzzingBrain-Bench, een nieuwe benchmark die is ontworpen om de open-ended bugontdekkingscapaciteiten van grote taalmodellen te evalueren door hun vermogen te meten om inputs te genereren die verschillende crashes triggeren in sanitizer-geinstrumenteerde harnesses over 77 uitdagingen uit 43 open-source projecten.

Oorspronkelijke auteurs: Ze Sheng, Aleksandar Kezic, Zhicheng Chen, Jeff Huang

Gepubliceerd 2026-08-27
📖 6 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Ze Sheng, Aleksandar Kezic, Zhicheng Chen, Jeff Huang

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

In het uitgestrekte, onzichtbare landschap van de software die onze moderne wereld aanstuurt, zijn verborgen gebreken een constante realiteit. Deze gebreken, bekend als kwetsbaarheden, zijn als kleine barstjes in een dam; als ze niet worden gerepareerd, kunnen ze aanvallers in staat stellen systemen te doorbreken, gegevens te stelen of kritieke diensten plat te leggen. Decennialang was het vinden van deze barstjes een handmatig, arbeidsintensief proces waarbij menselijke experts minutieus code inspecteerden, op zoek naar patronen die duiden op een zwakte. Echter, naarmate het volume van software groeit, heeft het aantal gerapporteerde gebreken recordhoogtes bereikt, waardoor de menselijke capaciteit om bij te houden de kop niet meer kan houden. Dit heeft onderzoekers ertoe gebracht een nieuwe vraag te stellen: kan kunstmatige intelligentie, specifiek de grote taalmodellen die code kunnen schrijven en begrijpen, worden aangeleerd om deze bugs sneller en effectiever te vinden dan voorheen? De uitdaging is niet alleen om een gebrek op papier te spotten, maar om te bewijzen dat het bestaat door een specifieke input te creëren die de software dwingt te falen, een proces dat een diep begrip vereist van hoe code zich gedraagt onder stress.

Een team van onderzoekers aan de Texas A&M University heeft een belangrijke stap gezet richting het beantwoorden van deze vraag door een nieuwe testomgeving te creëren genaamd FuzzingBrain-Bench. In tegenstelling tot eerdere tests die kunstmatige intelligentie-modellen vroegen om simpelweg een bekende zwakte te identificeren of een specifieke, vooraf aangekondigde fout te reproduceren, vraagt deze nieuwe benchmark de modellen om als onafhankelijke ontdekkingsreizigers op te treden. De onderzoekers voorzagen de modellen van de broncode van echte, open-source softwareprojecten die bekend stonden om het bevatten van bugs, samen met een gespecialiseerde testtool genaamd een harness. Deze harness is een gecontroleerde omgeving die is ontworpen om de software te draaien en nauwlettend te kijken naar elk teken van falen. De modellen werden niet verteld waar de bugs zaten of hoe ze eruit zagen. In plaats daarvan was hun taak om duizenden verschillende inputs te genereren, deze in de software te voeren en te zien of ze een crash konden veroorzaken. Een crash is in deze context een moment waarop de software onverwacht stopt met werken, wat vaak een verborgen kwetsbaarheid onthult. De modellen werden niet beloond voor het vinden van een specifieke, vooraf gekozen bug, maar voor het ontdekken van zoveel mogelijk verschillende soorten fouten, ongeacht of die fouten overeenkwamen met de oorspronkelijke bekende problemen.

De benchmark bestond uit zevenennegentig uitdagingen afkomstig van drieënveertig verschillende softwareprojecten, variërend van beeldverwerkingsbibliotheken en videocodecs tot database-tools en webservers. Deze projecten waren geschreven in drie belangrijke programmeertalen: C, C++ en Java. Om eerlijkheid te garanderen en te voorkomen dat de modellen toegang kregen tot externe informatie, werd elke uitdaging verpakt in een beveiligde, geïsoleerde container. Binnen deze container kon het model alleen de code en de testtool zien; het had geen toegang tot het internet, geen geschiedenis van de bugrapporten en geen informatie over hoe de software was hersteld. Het model moest volledig vertrouwen op zijn eigen redenering om inputs te ontwerpen die het systeem zouden breken. De onderzoekers maten succes door te tellen hoeveel unieke manieren de modellen de software konden laten crashen. Ze gebruikten een systeem dat vergelijkbare crashes bij elkaar groeperde, waardoor een model werd erkend voor het vinden van een nieuw type fout in plaats van simpelweg dezelfde fout steeds opnieuw te maken.

Toen de onderzoekers drie verschillende versies van een geavanceerd kunstmatige intelligentiesysteem testten, onthulden de resultaten zowel het potentieel als de huidige grenzen van deze technologie. De meest capabele versie, bekend als Opus, slaagde erin om in zestig van de zevenennegentig uitdagingen een crash te triggeren, waarmee het in de meerderheid van de gevallen succesvol nieuwe manieren vond om de software te breken. Een iets minder krachtige versie, Sonnet, slaagde in vijftig uitdagingen, terwijl de snelste, meest economische versie, Haiku, crashes vond in vijfendertig. De onderzoekers wijsden een moeilijkheidsscore toe aan elke uitdaging op basis van hoe moeilijk het voor de modellen was om een bug te vinden. De meest moeilijke uitdagingen, waarbij geen enkel model een crash kon vinden, waren de uitdagingen die de meest geavanceerde redenering vereisten. Zelfs het best presterende model slaagde er niet in om in dertien van de uitdagingen een enkele bug te vinden, wat suggereert dat hoewel deze modellen krachtige instrumenten zijn, ze nog niet perfect zijn en nog steeds worstelen met de meest complexe of obscure soorten softwaredefecten.

De studie onthulde ook interessante verschillen in hoe de modellen de taak benaderden. Het krachtigste model had de neiging om zijn zoektocht eerder te stoppen dan de anderen, vaak een bug snel te vinden en daarna verder te gaan, terwijl de andere modellen de neiging hadden om hun volledige tijdslimiet te gebruiken, meer tests uit te voeren voordat ze opgeven. Dit gedrag betekende dat het krachtigste model soms minder grondig was bij de moeilijkste problemen, zelfs als het beter was in het oplossen van de makkelijkere problemen. De onderzoekers merkten op dat de kosten voor het draaien van deze tests aanzienlijk varieerden; het krachtigste model was duurder om te draaien, vooral bij moeilijke uitdagingen waar het meer tijd doorbracht en meer gegevens genereerde. Echter, de minder dure modellen waren ook minder effectief in het vinden van de diepste bugs. De bevindingen suggereren dat kunstmatige intelligentie een levensvatbare partner aan het worden is in de jacht op softwarebugs, maar nog geen vervanging is voor menselijke expertise. De modellen zijn uitstekend in het vinden van veelvoorkomende of toegankelijke gebreken, maar ze missen nog steeds de meest ongrijpbare, wat aangeeft dat de toekomst van softwarebeveiliging waarschijnlijk een samenwerking zal zijn tussen menselijke experts en deze steeds capabelere digitale assistenten.

Uiteindelijk biedt dit werk een duidelijke, meetbare manier om te beoordelen hoe goed kunstmatige intelligentie softwarebugs in de echte wereld kan vinden. Door af te stappen van eenvoudige tests die modellen vragen om een bekend antwoord te matchen, hebben de onderzoekers een realistischere simulatie gecreëerd van hoe beveiligingsexperts daadwerkelijk werken. De resultaten laten zien dat huidige modellen een grote verscheidenheid aan softwarefouten kunnen ontdekken, maar dat ze nog niet in staat zijn om elke fout te vinden. Naarmate de benchmark wordt uitgebreid met meer uitdagingen en meer soorten software, zal het een essentieel instrument dienen voor het bijhouden van de voortgang van kunstmatige intelligentie in cybersecurity. Het doel is niet alleen om modellen te bouwen die een test kunnen halen, maar om systemen te ontwikkelen die de digitale infrastructuur waar we allemaal op vertrouwen betrouwbaar kunnen beschermen, door de barstjes te vinden voordat ze door anderen kunnen worden misbruikt.

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 →