← Nieuwste papers
🤖 AI

Locus: Agentic Predicate Synthesis for Directed Fuzzing

Locus is een nieuw agentisch framework dat semantisch betekenisvolle intermediaire predicaten synthetiseert om gerichte fuzzing naar doeltoestanden te sturen, wat de efficiëntie van state-of-the-art fuzzers aanzienlijk verbetert en succesvol voorheen niet-gepatchte real-world kwetsbaarheden heeft ontdekt.

Oorspronkelijke auteurs: Jie Zhu, Chihao Shen, Ziyang Li, Jiahao Yu, Yizheng Chen, Kexin Pei

Gepubliceerd 2026-07-23
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Jie Zhu, Chihao Shen, Ziyang Li, Jiahao Yu, Yizheng Chen, Kexin Pei

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 probeert een specifieke, verborgen schatkist te vinden die diep begraven ligt in een enorme, verschuivende doolhof. Dit is niet zomaar een doolhof; het is een digitaal doolhof gemaakt van computercode, en de "schat" is een geheim defect—een bug—die een hacker in een systeem kan breken. Dit is de wereld van directed fuzzing. Denk aan "fuzzing" als het werpen van miljoenen willekeurige pijlen op een doel om te zien of je een zwakke plek raakt. Meestal gooi je blindelings pijlen, hopend dat je iets interessants raakt. Maar "directed" fuzzing is slimmer: je weet precies waar de schatkist (de bug) zou moeten liggen, en je wilt pijlen werpen die recht naar daar toe leiden.

Het probleem is dat het doolhof enorm is, en het pad naar de schat wordt vaak geblokkeerd door een reeks complexe, onzichtbare deuren. Om erdoorheen te komen, moet je een lange keten van voorwaarden vervullen, zoals het hebben van de juiste sleutel, het dragen van de juiste hoed en het staan op de juiste vloer. Als je een pijl gooit die zelfs maar één van deze kleine vereisten mist, kom je vast te zitten in een doodlopende weg. Traditionele methoden proberen te raden welke kant ze op moeten door te meten hoe "dichtbij" ze de schat zijn in termen van stappen, maar dit is als het navigeren door een stad met alleen een kompas dat "Noord" aanwijst zonder te weten of er een muur de weg blokkeert. Het is vaak te vaag om nuttig te zijn.

Maak kennis met Locus, een nieuwe tool ontwikkeld door onderzoekers van de University of Chicago, University of Maryland, Johns Hopkins en Northwestern. In plaats van alleen te gokken welke kant dichterbij is, werkt Locus als een superintelligente, onvermoeibare detective die de kaart van het doolhof leest en een reeks behulpzame aanwijzingen opschrijft. Het ontdeft de specifieke, betekenisvolle stappen die je moet nemen om dichter bij de schat te komen, waardoor een verwarrend doolhof verandert in een duidelijke checklist.

Zo werkt Locus: het gebruikt een speciaal soort kunstmatige intelligentie (een "agent") om de computercode te lezen en de geheime regels te ontdekken die nodig zijn om de bug te bereiken. Stel je voor dat de code een recept is voor een cake, en de bug alleen gebeurt als je suiker toevoegt voordat je bloem toevoegt. Traditionele tools zouden misschien alleen zeggen: "Je komt dichter bij de mengkom!" Locus zegt echter: "Stop! Je hebt de bloem nog niet toegevoegd. Als je nu geen bloem toevoegt, zul je nooit bij het deel komen waar de cake explodeert." Het schrijft deze regels op als "predicaten"—eenvoudige controles die de computer kan uitvoeren terwijl het test. Als een testinput de controle faalt (bijv. "Geen bloem toegevoegd!"), stopt de computer onmiddellijk met het verspillen van tijd aan dat pad en probeert hij iets anders.

De onderzoekers hebben Locus gebouwd met een slim vangnet. Omdat de AI het denkwerk doet, kan het fouten maken, zoals het suggereren van een regel die per ongeluk de schatkist blokkeert. Om dit te voorkomen, heeft Locus een "validator" die elke door de AI gecreëerde regel dubbelcheckt. Het gebruikt een wiskundige methode genaamd "symbolic execution" om te bewijzen dat de nieuwe regels niet per ongeluk geldige paden naar de bug weggooien. Het is als het hebben van een strikte redacteur die elke zin controleert die de detective schrijft om er zeker van te zijn dat het waar is voordat hij het in het definitieve verhaal laat opnemen.

Toen het team Locus testte, waren de resultaten indrukwekkend. Ze plugden het in acht verschillende bestaande "pijl-gooiende" tools (fuzzers) en keken hoe deze tools zochanden naar bugs in real-world software zochten. Gemiddeld maakten deze tools met Locus 41,6 keer sneller de bugs gevonden. In sommige gevallen was het zelfs nog dramatischer: één tool vond een bug 214,2 keer sneller met Locus dan zonder het. Voorheen zouden sommige van deze tools een volle dag draaien en niets vinden; met Locus vonden ze dezelfde bugs in een fractie van die tijd.

Het team stopte niet bij testen alleen; ze gebruikten Locus om naar echte, ongepatchte bugs te zoeken in populaire software zoals image libraries en archive tools. Ze vonden succesvol negen eerder onbekende bugs. Drie hiervan zijn al erkend door de softwaremakers, die aan de oplossingen werken. Dit suggereert dat Locus niet alleen een theoretisch idee is; het is een praktische tool die kan helpen software veiliger te maken door de verborgen vallen te vinden voordat kwaadwillenden dat doen.

Kortom, Locus verandert het spel van "blindelings pijlen gooien en hopen" naar "pijlen gooien met een GPS en een checklist." Het gebruikt AI om de diepe logica van computerprogramma's te begrijpen, creëert behulpzame wegwijzers om de zoektocht te begeleiden, en dubbelcheckt zijn eigen werk om ervoor te zorgen dat het de zoektocht nooit de verkeerde kant op leidt. Door dit te doen, verandert het een bijna onmogelijke zoektocht naar digitale schatten in een veel efficiënter en succesvoller avontuur.

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 →