AgenticRepair: Multi-Faceted Program Context Engineering for Agentic Vulnerability Repair
AgenticRepair is een multi-agent framework dat de succesratio van geautomatiseerde kwetsbaarheidsreparatie aanzienlijk verbetert naar 73% door drie kritieke, voorheen over het hoofd geziene aspecten van programmacontext — code-structuur, runtime-executie en commit-geschiedenis — te ontwerpen en te integreren in het reparatieproces.
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 het internet voor als een enorme, bruisende stad die volledig uit code bestaat. In deze stad is software de infrastructuur—bruggen, verkeerslichten en elektriciteitsnetten—die alles draaiende houdt. Maar soms zitten er in de blauwdrukken van deze constructies kleine, onzichtbare barsten. Dit zijn "kwetsbaarheden", en in tegen tegenstelling tot een kuil in de weg die alleen een auto vertraagt, kan een barst in de code een dief binnenlaten, data stelen of de hele stad platleggen. Decennialang was het repareren van deze barsten een taak voor elite security engineers. Zij fungeren als detective-chirurgen die handmatig door bergen code zoeken, speciale tests uitvoeren om te zien waar het gebouw instort, en oude logs controleren om te zien hoe de fout in de eerste plaats is ontstaan. Het is traag, uitputtend en het duurt vaak maanden om een enkele opening te dichten.
Onlangs zijn wetenschappers begonnen om computers te leren om te handelen als deze detective-chirurgen. Ze gebruiken "AI-agents"—slimme softwareprogramma's die code kunnen lezen, tests kunnen uitvoeren en zelfs zelfstandig bestanden kunnen herschrijven. Denk aan deze AI-agents als junior stagiairs die sneller kunnen werken dan welke mens dan ook, maar die vaak de subtiele aanwijzingen missen die een menselijke expert wel zou oppikken. Ze fixen misschien een typefout, maar missen het feit dat het hele gebouw op een wankele fundering staat. De grote vraag die onderzoekers stellen is: Hoe leren we deze AI-stagiairs te denken als de beste menselijke experts? Hoe geven we ze de juiste "tools" en "achtergrondkennis" zodat ze niet simpelweg gokken, maar daadwerkelijk begrijpen wat de diepere, complexe redenen zijn waarom een beveiligingsgat bestaat?
Hier komt een nieuwe studie genaamd AgenticRepair kijken. De onderzoekers, een team van universiteiten uit Australië, besloten dat het probleem niet was dat de AI niet slim genoeg was, maar dat de AI niet de juiste context kreeg. Stel je voor dat je probeert een lekkende kraan te repareren zonder te weten of de waterdruk te hoog is, of de leidingen geroest zijn, of dat de loodgieter bij de installatie de verkeerde onderdelen heeft gebruikt. Het team bouwde een nieuw systeem dat fungeert als een superkrachtig detective-team. In plaats van één AI die alles probeert te doen, creëerden ze een squad van drie gespecialiseerde "mini-AI's" die samenwerken om drie specifieke soorten aanwijzingen te verzamelen voordat de hoofd-reparatie-AI überhaupt aan het werk gaat.
Ten eerste kijkt een "Structure Agent" naar hoe de code is opgebouwd, zoals een architect die de blauwdrukken controleert om te zien of er twee leidingen op dezelfde plek zitten waar dat niet zou mogen gebeuren. Ten tweede fungeert een "Runtime Agent" als een crash-testpop, die de software daadwerkelijk draait om te zien precies hoe en waar het breekt, waarbij het het geheugen volgt als een detective die een spoor van kruimels volgt. Ten derde graaft een "History Agent" door de oude logs van het project, als een historicus die het dagboek van de oorspronkelijke bouwers leest om te ontdekken wanneer en waarom een fragiel ontwerp is geïntroduceerd.
Zodra deze drie agents hun aanwijzingen hebben verzameld, dragen ze deze over aan een vierde "Repair Agent". Deze agent beschikt over alle informatie die nodig is om een perfecte oplossing te schrijven. Het team testte dit systeem op een enorme uitdaging genaamd SEC-Bench, die 300 echte beveiligingslekken bevat uit populaire softwareprojecten. De resultaten waren indrukwekkend: AgenticRepair slaagde erin om 73% van de kwetsbaarheden te repareren (220 van de 300). Dit is een enorme sprong vergeleken met de beste eerdere AI-methoden, die slechts ongeveer 34% konden repareren.
Wat nog cooler is, is dat het systeem niet zomaar geluk had. De onderzoekers voerden experimenten uit om te zien wat het zo goed liet werken. Ze ontdekten dat de drie soorten aanwijzingen (structuur, runtime en historie) als een driepotige kruk zijn; als je er één verwijdert, wiebelt de kruk, maar als je er alle drie behoudt, staat hij stevig. Ze ontdekten ook dat het hebben van een team van gespecialiseerde agents veel beter was dan één AI die alles alleen probeert te doen. Sterker nog, toen ze probeerden het hele proces met een enkele agent uit te voeren, stortte het succespercentage met bijna de helft in.
De studie suggereert dat het geheim van het repareren van complexe beveiligingslekken niet alleen is om de AI slimmer te maken; het is het ontwerpen van de context die zij ziet. Door de AI de soort diepe, meerlaagse kennis te geven die menselijke security engineers gebruiken, kan het systeem problemen oplossen die voorheen te ingewikkeld waren voor machines. Hoewel het systeem nog niet perfect is—het worstelt nog steeds met ongeveer 27% van de gevallen, vaak omdat de gegenereerde oplossingen te rommelig zijn of niet helemaal aan de regels voldoen—bewijst het dat een teamgerichte aanpak met gespecialiseerde context een winnende strategie is. Het is een herinnering aan het feit dat in de hooggestoken wereld van cybersecurity de beste oplossing vaak voortkomt uit het begrijpen van het hele verhaal, en niet alleen van het kapotte deel.
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.