Google’s Ai helpt oplossen?

Google’s nieuwe AI-agent herschrijft code om kwetsbaarheden automatisch te verhelpen

DeepMind van Google heeft een innovatieve AI-agent geïntroduceerd die zelfstandig kritieke beveiligingslekken in softwarecode opspoort en verhelpt. De agent, toepasselijk CodeMender genoemd, heeft in de afgelopen zes maanden al 72 beveiligingspatches bijgedragen aan gerespecteerde open-sourceprojecten.

Het identificeren en repareren van kwetsbaarheden is van nature een complex en tijdrovend proces, zelfs wanneer men traditionele geautomatiseerde methoden zoals fuzzing inzet. Eerder onderzoek van DeepMind, met AI-projecten als Big Sleep en OSS-Fuzz, heeft bewezen effectief te zijn in het opsporen van nieuwe zero-day kwetsbaarheden in zorgvuldig gecontroleerde codebases. Deze vooruitgang brengt echter een nieuw knelpunt met zich mee: de steeds snellere ontdekking van kwetsbaarheden legt een verhoogde druk op menselijke ontwikkelaars om deze tijdig te verhelpen.

CodeMender is specifiek ontworpen om deze onevenwichtigheid te adresseren. Als autonome AI-agent neemt het een alomvattende en proactieve houding aan ten aanzien van codebeveiliging. Het patcht niet alleen direct nieuw ontdekte kwetsbaarheden, maar herschrijft ook bestaande code om complete categorieën beveiligingslekken te elimineren voordat ze kunnen worden uitgebuit. Hierdoor krijgen ontwikkelaars en beheerders van projecten kostbare tijd vrij om zich te richten op het ontwikkelen van nieuwe functies en het verbeteren van softwareprestaties.

De werking van CodeMender is gebaseerd op de geavanceerde redeneercapaciteiten van Google’s recente Gemini Deep Think-modellen. Deze technologische fundering stelt de agent in staat om complexe beveiligingsproblemen autonoom te diagnosticeren en op te lossen. Hiertoe beschikt het systeem over een uitgebreide toolbox waarmee het code kan analyseren en doordenken voordat het aanpassingen doorvoert. Daarnaast bevat CodeMender een rigoureus validatieproces, waarmee wordt gegarandeerd dat wijzigingen correct zijn en geen nieuwe problemen of regressies introduceren.

Hoewel grote taalmodellen zich razendsnel ontwikkelen, kan een fout in codebeveiliging desastreuze gevolgen hebben. De automatische validatiefunctie van CodeMender is daarom cruciaal. Elk voorgesteld herstel wordt systematisch getoetst op oplossing van de kernoorzaak, functionele correctheid, het niet breken van bestaande tests en naleving van de codeerstandaarden van het project. Alleen kwalitatief hoogwaardige patches die aan deze strenge eisen voldoen, worden ter beoordeling aan mensen voorgelegd.

Om de effectiviteit van het codeherstel te vergroten, ontwikkelde het team achter DeepMind nieuwe technieken voor de AI-agent. CodeMender maakt gebruik van geavanceerde programma-analyse via een combinatie van statische en dynamische analyse, differentiële tests, fuzzing en SMT-solvers. Hiermee wordt codepatronen, controle- en datastromen grondig onderzocht om de onderliggende oorzaken van kwetsbaarheden en architecturale zwaktes bloot te leggen.

Het systeem werkt daarnaast met een multi-agent architectuur waarbij gespecialiseerde sub-agenten worden ingezet om specifieke aspecten van een probleem aan te pakken. Zo is er een grote taalgemodelleerde beoordelaar die verschillen tussen oorspronkelijke en gewijzigde code analyseert. Dit stelt de hoofdagent in staat om te controleren of voorgestelde wijzigingen geen onbedoelde bijeffecten veroorzaken en om indien nodig zelfcorrigerend op te treden.

Een concreet voorbeeld illustreert dit perfect: CodeMender vond een kwetsbaarheid waarbij een crashrapport verwees naar een heap buffer overflow. Hoewel de uiteindelijke patch slechts enkele regels code aanpaste, bleek de oorzaak elders te liggen – een fout in stackbeheer tijdens het parseren van Extensible Markup Language (XML)-elementen. Door gebruik te maken van debugging en code-zoektools ontdekte de agent dit verborgen probleem. In een ander geval ontwikkelde de agent een complexe patch voor een probleem met de levensduur van objecten, waarbij een op maat gemaakt systeem voor het genereren van C-code in het project werd aangepast.

CodeMender beperkt zich niet tot het reageren op bestaande fouten, maar verstevigt software ook proactief tegen toekomstige bedreigingen. Zo heeft het team de agent ingezet om -fbounds-safety-annotaties toe te voegen aan delen van libwebp, een veelgebruikte beeldcompressiebibliotheek. Deze annotaties instrueren de compiler om grenzencontroles toe te passen, waarmee buffer overflows worden voorkomen en daarmee potentieel misbruik.

Deze proactieve aanpak is bijzonder relevant, gezien een heap buffer overflow in libwebp (CVE-2023-4863) enkele jaren geleden werd benut in een zero-click exploit op iOS. Volgens DeepMind zouden de toevoegingen die momenteel door CodeMender zijn aangebracht, dit en vergelijkbare kwetsbaarheden onbruikbaar maken.

Het besluitvormingsproces van de AI bij het aanbrengen van annotaties is verfijnd: het kan automatisch nieuwe compilatiefouten corrigeren die uit eigen wijzigingen voortvloeien. Indien de validatietools detecteren dat een wijziging functionaliteit schaadt, past de agent zichzelf aan en zoekt een alternatieve oplossing.

Hoewel de eerste resultaten hoopgevend zijn, kiest Google DeepMind voor een weloverwogen en betrouwbare uitrol. Vooralsnog wordt elke patch die CodeMender genereert door menselijke onderzoekers gecontroleerd alvorens te worden ingebracht in open-sourceprojecten. Het team vergroot het aantal bijdragen geleidelijk om kwaliteit te waarborgen en feedback van de open-sourcegemeenschap systematisch te verwerken.

Vooruitkijkend is het plan om contact te leggen met beheerders van cruciale open-sourceprojecten om door CodeMender gegenereerde patches aan te bieden. Door te blijven itereren op basis van communityfeedback hopen zij CodeMender uiteindelijk als een openbaar beschikbare tool voor alle softwareontwikkelaars te lanceren.

Daarnaast plant het DeepMind-team in de komende maanden technische publicaties en rapporten om hun innovaties en bevindingen te delen. Dit vormt de eerste stap in het benutten van AI-agents om code actief te verbeteren en zo de fundamenten van softwarebeveiliging voor iedereen stevig te versterken.

  • Eater

    vraag en ik antwoord

    Related Posts

    Cybercriminelen gebruiken ChatGTP

    OpenAI geeft toe: cybercriminelen gebruiken steeds vaker ChatGPT Cybercriminelen zetten AI steeds vaker in om hun phishing en malware te verbeteren en efficiënter te verspreiden. AI kan een waardevolle rol…

    Google’s Ai helpt oplossen?

    Google’s nieuwe AI-agent herschrijft code om kwetsbaarheden automatisch te verhelpen DeepMind van Google heeft een innovatieve AI-agent geïntroduceerd die zelfstandig kritieke beveiligingslekken in softwarecode opspoort en verhelpt. De agent, toepasselijk…

    Geef een reactie