.@trailofbits' Buttercup vorbește despre strategia noastră de competiție acum, pe scena AIxCC. Iată echipa noastră de bază (8 oameni de bază + ~3 mercenari):
Principiile noastre directoare ale strategiei. TLDR folosește cel mai bun instrument pentru lucrare. Nu vă așteptați ca LLM-urile să fie bune în mod magic la lucruri despre care știm că nu sunt.
Designul original al Buttercup a fost substanțial mai sofisticat. A fost redus pentru a respecta regulile și pentru a lua în considerare constrângerile de resurse ale echipei noastre.
Ne-am descurcat substanțial bine în semifinale, obținând multe prim-sânge, dar căutătorul nostru de erori Java s-a rupt și încă nu știm de ce!
Semifinalele au validat abordarea noastră generală, dar a avut nevoie de ajustări pentru a se adapta creșterii masive a dimensiunii pentru finală. Am aruncat prototipul și am pornit de la zero pentru finală.
Henrik a lucrat la orchestrator: cum, ce și când să trimită la API-ul competiției. Am decis să solicităm întotdeauna un punct de vedere pentru a ne maximiza încrederea în trimiteri.
Run a lucrat la motorul nostru de descoperire a vulnerabilităților. Am folosit fuzzere oss-fuzz standard. Am folosit un corpus comun în care LLM-urile au ajutat fuzzerii să obțină acoperire.
Ronald a lucrat la motorul nostru de descoperire a vulnerabilităților. Am folosit fuzzere oss-fuzz standard. Am folosit un corpus comun în care LLM-urile au ajutat fuzzerii să obțină acoperire.
Ronald a lucrat la motorul nostru de descoperire a vulnerabilităților. Am folosit fuzzere oss-fuzz standard. Am folosit un corpus comun în care LLM-urile au ajutat fuzzerii să obțină acoperire.
Patcher-ul este un sistem multi-agent, 6k linii de cod, LangChain/LangGraph, cu GPT-4.1 fără raționament. Agentul de securitate identifică cauzele principale, agentul Engineer găsește instrucțiuni de testare, apoi agentul QA un patch și îl validează. Dacă eșuează, agentul de reflecție ajustează strategia.
În rundele demonstrative, am marcat primul în runda 1, ne-am prăbușit puternic în 2 și ne-am revenit în 3. Am fost eficienți din punct de vedere al resurselor în runda 1, folosind doar 1 mii de dolari dintr-un buget de 30 de mii de dolari. În runda 2 am avut o greșeală de scriere minoră care a prăbușit totul.
În runda punctată, am găsit o mulțime de bug-uri cu un buget limitat (jumătate din cele disponibile), cu o precizie ridicată și un scor bun la toate sarcinile. De asemenea, am găsit cel puțin 1 bug pe care niciun alt CRS nu l-a făcut, arătând că am acoperit un teren nou.
Cum am obținut un scor atât de bun? Am avut o precizie de 90%, am punctat la toate sarcinile și am făcut patch-uri de înaltă calitate pentru toate bug-urile noastre.
Am petrecut ultima lună făcând o versiune redusă a ranunculului care rulează pe laptop. Intenționăm să-l menținem cu o parte din câștiguri. Este open source acum!
4,01K