.@trailofbits' team di Buttercup sta parlando della nostra strategia competitiva ora, sul palco di AIxCC. Ecco il nostro team principale (8 persone chiave + ~3 mercenari):
I principi guida delle nostre strategie. TLDR usa il miglior strumento per il lavoro. Non aspettarti che i LLM siano magicamente bravi in cose che sappiamo non esserlo.
Il design originale di Buttercup era sostanzialmente più sofisticato. È stato ridotto per conformarsi alle regole e tenere conto delle limitazioni delle risorse del nostro team.
Abbiamo fatto molto bene nelle semifinali, segnando molti primi blood, ma il nostro cercatore di bug Java si è rotto e non sappiamo ancora perché!
Le semifinali hanno convalidato il nostro approccio generale, ma era necessario un aggiustamento per adattarsi al massiccio aumento di scala per le finali. Abbiamo gettato via il prototipo e ricominciato da zero per le finali.
Henrik ha lavorato sull'orchestratore: come, cosa e quando inviare all'API della competizione. Abbiamo deciso di richiedere sempre un PoV per massimizzare la nostra fiducia nelle sottomissioni.
Run ha lavorato sul nostro motore di scoperta delle vulnerabilità. Abbiamo utilizzato i fuzzers standard oss-fuzz. Abbiamo utilizzato un corpus condiviso in cui gli LLM hanno aiutato i fuzzers a ottenere copertura.
Ronald ha lavorato sul nostro motore di scoperta delle vulnerabilità. Abbiamo utilizzato i fuzzers standard oss-fuzz. Abbiamo usato un corpus condiviso in cui gli LLM hanno aiutato i fuzzers a ottenere copertura.
Ronald ha lavorato sul nostro motore di scoperta delle vulnerabilità. Abbiamo utilizzato i fuzzers standard oss-fuzz. Abbiamo usato un corpus condiviso in cui gli LLM hanno aiutato i fuzzers a ottenere copertura.
Il patcher è un sistema multi-agente, 6k righe di codice, LangChain/LangGraph, con GPT-4.1 non ragionante. L'agente di sicurezza identifica le cause principali, l'agente ingegnere trova le istruzioni per il test, poi l'agente QA crea una patch e la convalida. Se fallisce, l'agente di riflessione aggiusta la strategia.
Nelle fasi di esposizione, abbiamo segnato per primi nel round 1, abbiamo subito un duro colpo nel 2 e ci siamo ripresi nel 3. Siamo stati efficienti nelle risorse nel round 1, utilizzando solo $1k di un budget LLM di $30k. Nel round 2 abbiamo avuto un piccolo errore di battitura che ha fatto crollare tutto.
Nella fase di valutazione, abbiamo trovato molti bug con un budget limitato (metà di quello disponibile), con alta precisione, e abbiamo ottenuto buoni risultati in tutti i compiti. Abbiamo anche trovato almeno 1 bug che nessun altro CRS ha trovato, dimostrando che abbiamo esplorato nuovi territori.
Come abbiamo fatto a ottenere un punteggio così alto? Abbiamo avuto un'accuratezza del 90%, punteggiato in tutti i compiti e realizzato patch di alta qualità per tutti i nostri bug.
Abbiamo trascorso l'ultimo mese a realizzare una versione ridotta di buttercup che funziona sul tuo laptop. Intendiamo mantenerla con una parte delle vincite. È open source ora!
4,02K