← Nieuwste papers
💻 computer science

SeedSmith: LLM-Driven Seed Synthesis for Directed Fuzzing

SeedSmith is een agentische LLM-pipeline die doelgerichte initiële seeds synthetiseert door iteratief indirecte aanroepen en crash-precondities op te lossen, waardoor gerichte fuzzing aanzienlijk wordt versneld en de ontdekking van voorheen onbereikbare kwetsbaarheden in diverse inputformaten mogelijk wordt gemaakt.

Oorspronkelijke auteurs: Junmin Zhu, Siyu Liu, Jie Hu, Fabio Gritti, Ati Priya Bajaj, Hulin Wang, Wenbo Guo, Tiffany Bao, Christopher Kruegel, Giovanni Vigna

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

Oorspronkelijke auteurs: Junmin Zhu, Siyu Liu, Jie Hu, Fabio Gritti, Ati Priya Bajaj, Hulin Wang, Wenbo Guo, Tiffany Bao, Christopher Kruegel, Giovanni Vigna

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 verborgen schatkist probeert te vinden in een enorm, donker kasteel. Je hebt een robot (een "fuzzer") die ronddwaalt, tegen muren aanbotst en probeert deuren te openen. Meestal dwaalt de robot willekeurig rond, in de hoop toevallig de schat te stuiten. Maar soms weet je precies waar de schat is (een specifieke "sink"-functie in de code), en wil je dat de robot er rechtstreeks naartoe gaat. Dit wordt Directed Fuzzing genoemd.

Het probleem? De robot raakt vaak verdwaald of blijft steken. Waarom? Omdat de kaart die hij gebruikt incompleet is (hij kan geen geheime gangen zien achter vergrendelde deuren), en zelfs als hij de kamer met de schat vindt, weet hij niet de geheime handdruk die nodig is om deze te openen. Hij blijft de schat maar met een stok prikken, in de hoop hem kapot te krijgen, wat eeuwen duurt.

Maak kennis met SeedSmith, een nieuw systeem dat werkt als een super slimme detective voordat de robot überhaupt begint te bewegen. In plaats van de robot blind rond te laten dwalen, gebruikt SeedSmith een speciale vorm van kunstmatige intelligentie (een LLM) om eerst het detectivewerk te doen.

De twee grote problemen die SeedSmith oplost

1. De onzichtbare kaart (Indirect Calls)
Stel je een gang in het kasteel voor waar de deuren geen namen hebben; er hangt alleen een briefje met: "Ga naar de deur waar de bewaker naar wijst." De kaart van de robot toont alleen directe verbindingen, dus hij denkt dat deze gang een doodlopende weg is. In de echte wereld gebeurt dit met "indirect calls" in computercode. Het artikel laat zien dat zonder dit op te lossen, de robot nooit het pad naar de schat kan zien. De detective-AI van SeedSmith leest de code, ontdeft welke bewaker naar welke deur wijst, en tekent de ontbrekende route op de kaart.

2. De geheime handdruk (Crash Preconditions)
Soms vindt de robot de juiste kamer, maar is de schat vergrendeld met een complexe puzzel. Misschien moet je drie knoppen in een specifieke volgorde indrukken terwijl je een specifieke sleutel vasthoudt. Het willekeurige geprik van de robot (mutatie) is als een aapje dat op de toetsen van een piano slaat; het kan een miljoen jaar duren voordat het de juiste noot raakt. De detective van SeedSmith leest de instructies, ontrafelt de exacte combinatie en maakt een sleutel die perfect past.

Hoe SeedSmith werkt: De Detective en de Bouwer

SeedSmith raadt niet alleen maar; het werkt in twee fasen, als een tweepersoons team:

  • De Analysis Agent (De Detective): Dit deel van het systeem begint bij de schatkist en werkt achteruit. Het gebruikt een speciale tool om de code te "doorzoeken", waarbij het functielichamen en type-definities leest, precies zoals een menselijke beveiligingsexpert dat zou doen. Het kijkt niet alleen naar een statische kaart; het stelt vragen zoals: "Wie roept deze functie aan?" en "Welke waarden heeft deze variabele nodig?". Het graaft door totdat het exact het pad en de exacte voorwaarden heeft gevonden die nodig zijn om de crash te triggeren.
  • De Seed Generation Agent (De Bouwer): Zodra de detective een rapport heeft geschreven, neemt de bouwer het over. Het schrijft een Python-script om de perfecte "seed" (de begininvoer) te creëren. Als de schat een complex afbeeldingsbestand of een specifiek netwerkpakket vereist, gebruikt de bouwer bibliotheken (zoals een digitale penseel) om het perfect te construeren, in plaats van willekeurige bytes te smijten.

Als de eerste poging de schat niet breekt, controleert het systeem het resultaat, leert van de fout en probeert het opnieuw tot wel tien keer, totdat het lukt.

Wat SeedSmith bewijst (en wat het niet is)

De onderzoekers hebben dit getest op twee grote verzamelingen uitdagingen: Magma (23 specifieke bugs) en ARVO (115 echte bugs uit 26 projecten).

De resultaten:

  • Snelheid: Wanneer ze de seeds van SeedSmith gebruiken, vonden de robots crashes 11,51 keer sneller (gemiddeld) met een populaire tool genaamd AFL++, en 14,66 keer sneller met een andere genaamd AFLGo, vergeleken met het gebruik van de standaard beginseeds.
  • Nieuwe ontdekkingen: Op de ARVO-uitdagingen hielp SeedSmith de robots om 16 bugs te vinden die ze nooit eerder hadden gevonden, zelfs niet nadat ze 24 uur lang hadden gedraaid. Deze bugs zaten in 10 verschillende projecten met zeer uiteenlopende bestandsformaten.
  • One-Shot Wonders: Voor sommige bugs was de seed die SeedSmith bouwde zo perfect dat de robot de crash onmiddellijk triggerde, nog voordat hij de kans kreeg om de input te muteren. Dit gebeurde 5 keer op de Magma-set.

Wat SeedSmith NIET is:

  • Het is geen toverstaf die de robot zelf repareert. Het artikel stelt expliciet dat SeedSmith de werking van de robot (de fuzzer) van binnenuit niet verandert. Het geeft de robot alleen een beter startpunt.
  • Het is geen vervanging voor alle fuzzing. Het artikel merkt op dat voor sommige bugs de robot nog steeds werk moet verrichten nadat de seed is gegeven.
  • Het beweert niet elk probleem op te lossen. Het artikel geeft toe dat de robot soms nog steeds te veel tijd in beslag neemt (time-out), vooral als de crash-condities extreem complex zijn.

De kernboodschap

Beschouw SeedSmith als een combinatie van een GPS en een meester-sleutelmaker. Voordat je je robot het donkere kasteel in stuurt, bepaalt SeedSmith de exacte route en smeedt de perfecte sleutel. Het artikel laat zien dat deze aanpak gemeten en bewezen het vinden van softwarebugs aanzienlijk versnelt en helpt bij het vinden van bugs die voorheen onbereikbaar waren. Het verandert een spel van blind geluk in een spel van slimme strategie, waardoor zelfs algemene robots kunnen fungeren als gerichte schatjagers.

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 →