.@trailofbits' Buttercup-team praat nu over onze concurrentiestrategie, op het AIxCC-podium. Hier is ons kernteam (8 kernleden + ~3 huurlingen):
Onze strategieën en leidende principes. TLDR gebruik de beste tool voor de klus. Verwacht niet dat LLM's magisch goed zijn in dingen waarvan we weten dat ze dat niet zijn.
Het oorspronkelijke Buttercup-ontwerp was aanzienlijk geavanceerder. Het werd vereenvoudigd om te voldoen aan de regels en rekening te houden met de middelenbeperkingen van ons team.
We hebben het aanzienlijk goed gedaan in de halve finales, met veel first bloods, maar onze Java bug finder is kapot gegaan en we weten nog steeds niet waarom!
De halve finales valideerden onze algemene aanpak, maar deze moest worden aangepast om de enorme toename in schaal voor de finales te accommoderen. We hebben het prototype weggegooid en zijn vanaf nul begonnen voor de finales.
Henrik werkte aan de orchestrator: hoe, wat en wanneer in te dienen bij de competitie-API. We besloten altijd een PoV te vereisen om ons vertrouwen in de inzendingen te maximaliseren.
Run werkte aan onze kwetsbaarheidsontdekkingsengine. We gebruikten standaard oss-fuzz fuzzers. We gebruikten een gedeelde corpus waar LLM's de fuzzers hielpen om dekking te krijgen.
Ronald werkte aan onze kwetsbaarheidsontdekkingsengine. We gebruikten standaard oss-fuzz fuzzers. We gebruikten een gedeelde corpus waar LLM's de fuzzers hielpen om dekking te krijgen.
Ronald werkte aan onze kwetsbaarheidsontdekkingsengine. We gebruikten standaard oss-fuzz fuzzers. We gebruikten een gedeelde corpus waar LLM's de fuzzers hielpen om dekking te krijgen.
De patcher is een multi-agent systeem, 6k regels code, LangChain/LangGraph, met niet-redenerende GPT-4.1. De beveiligingsagent identificeert de oorzaken, de engineer-agent vindt testinstructies, en de QA-agent maakt een patch en valideert deze. Als het faalt, past de reflectie-agent de strategie aan.
In de tentoonstellingsrondes scoorden we als eerste in ronde 1, crashte we hard in ronde 2 en kwamen we terug in ronde 3. We waren resource-efficiënt in ronde 1, waarbij we slechts $1k van een $30k LLM-budget gebruikten. In ronde 2 hadden we een kleine typfout die alles deed crashen.
In de gescoorde ronde hebben we veel bugs gevonden met een beperkt budget (de helft van het beschikbare), met hoge nauwkeurigheid, en hebben we goed gescoord op alle taken. We hebben ook minstens 1 bug gevonden die geen enkele andere CRS heeft gevonden, wat aantoont dat we nieuw terrein hebben verkend.
Hoe hebben we zo goed gescoord? We hadden 90% nauwkeurigheid, scoorden op alle taken en maakten hoogwaardige patches voor al onze bugs.
We hebben de afgelopen maand een verkleinde versie van buttercup gemaakt die op je laptop draait. We zijn van plan het te onderhouden met een deel van de winsten. Het is nu open source!
4,01K