SEC-bench Pro: Can Language Models Solve Long-Horizon Software Security Tasks?
Dit artikel introduceert SEC-bench Pro, een rigoureus benchmark met 183 real-world kwetsbaarheden in V8 en SpiderMonkey die aantoont dat huidige op taalmodellen gebaseerde coderingsagenten worstelen met softwarebeveiligingstaken op lange termijn, met een succespercentage van maximaal 38,8% zelfs bij state-of-the-art modellen.
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 voor dat je een team van super-slimme, door AI aangedreven detectives huurt om verborgen valkuilen te vinden in een enorme, complexe videospel-engine. Deze engines (JavaScript-engines genoemd) draaien de code die websites en apps doet werken. Als een detective een valkuil vindt, moet hij precies aantonen hoe deze geactiveerd kan worden (een "Proof of Concept" of PoC), zodat de spelontwikkelaars het kunnen herstellen.
Dit artikel introduceert een nieuwe, zeer strenge test genaamd SEC-bench Pro om te beoordelen hoe goed deze AI-detectives werkelijk zijn in het vinden van deze valkuilen in de echte wereld.
Het probleem met oude tests
Eerdere tests waren als het geven van een schatkaart aan de detective waarop het "X" al was gemarkeerd waar de schat lag. Ze zouden kunnen zeggen: "Ga naar regel 500 en druk op deze knop om het spel te breken."
- Het probleem: Echte bugjacht werkt niet zo. Echte detectives moeten de hele code bekijken, uitzoeken waar de valkuil zou kunnen zitten, en vervolgens proberen deze te activeren zonder precies te weten waar hij is. Oude tests maten deze echte vaardigheid niet; ze maten alleen of de AI een kaart kon volgen.
De nieuwe test: SEC-bench Pro
De auteurs bouwden een nieuwe, moeilijkere test met behulp van twee beroemde spel-engines: V8 (gebruikt door Google Chrome) en SpiderMonkey (gebruikt door Firefox).
- De opzet: Ze namen 183 echte, bevestigde valkuilen die eerder door mensen waren gevonden.
- De omgeving: Ze creëerden de exacte "tijdmachine"-versie van de software waarin de valkuil bestond, plus de versie waarin deze was hersteld.
- De regels: De AI-agenten kregen de ruwe code en een vaag beschrijving van een probleem. Ze moesten:
- De specifieke codepad naar de valkuil achterhalen.
- Een script (de PoC) schrijven om het crashen te activeren.
- Bewijzen dat het script alleen de oude versie kapotmaakt en in de nieuwe versie is hersteld.
De "Drie-Beeld" Rechter
Dit is het belangrijkste onderdeel van hun nieuwe test. In het verleden kreeg een AI een punt als het enige crash veroorzaakte. Maar een AI zou per ongeluk iets anders in het spel kunnen breken dat niet de specifieke valkuil was waar ze naar zochten.
SEC-bench Pro gebruikt een Drie-Beeld Rechter (een geavanceerde AI-scheidsrechter):
- Beeld 1 (De valkuil): Maakt het script de oude versie kapot?
- Beeld 2 (De fix): Stopt het script met het kapotmaken van de nieuwe versie (waar de patch is toegepast)?
- Beeld 3 (De nieuwste): Maakt het script de nieuwste versie kapot (waar andere fixes mogelijk hebben plaatsgevonden)?
Als de AI een crash veroorzaakt in de oude versie maar ook de gerepareerde versie laat crashen, zegt de Rechter: "Je hebt de specifieke valkuil niet gevonden; je hebt het spel gewoon algemeen kapotgemaakt." Dit voorkomt dat de AI punten krijgt voor gelukkige, niet-gerelateerde fouten.
De resultaten: De AI-detectives worstelen
Het artikel testte drie top-tier AI-"detectives" (aangedreven door modellen zoals GPT-5.4, Opus 4.6 en Kimi-K2.6). Dit gebeurde:
- Het scorebord: Zelfs de slimste AI kon slechts ongeveer 32% tot 39% van de valkuilen oplossen. Dat betekent dat ze faalden in meer dan 60% van de gevallen.
- De "Open-Weight" Rookie: Een goedkopere, open-source AI (Kimi-K2.6) loste slechts ongeveer 11,7% van de V8-valkuilen op.
- Het teamwork-effect: Interessant genoeg vonden de AI-detectives verschillende valkuilen. Toen je de resultaten van de twee beste AIs combineerde, losten ze samen ongeveer 48% van de SpiderMonkey-valkuilen op, maar kon geen van beiden het alleen. Ze zijn als twee detectives met verschillende specialismen; de ene is goed in het vinden van één type aanwijzing, de andere in een ander type.
Waarom faalden ze?
Het artikel vond twee hoofdredenen waarom de AIs worstelden:
- Te veel gokken (de "Spray and Pray"-aanpak): Eén AI (Claude) probeerde duizenden scripts te genereren. De meeste braken niets echt kapot, of ze braken het verkeerde ding. Het was als het gooien van een miljoen pijlen naar een bord en hopen dat één de bullseye raakt.
- Te veel voorzichtigheid (de "Over-Thinker"-aanpak): Een andere AI (Codex) was zeer voorzichtig. Het zou de code analyseren, beslissen dat een valkuil misschien daar was, maar als het het niet 100% kon bewijzen voordat het het inzond, zou het opgeven en zeggen: "Ik kan het niet." Het miste veel valkuilen omdat het te bang was om fout te zijn.
De grote les
Het artikel concludeert dat hoewel AI beter wordt in het schrijven van code, het nog steeds niet erg goed is in het lange, moeilijke proces van het jagen op beveiligingsbugs in complexe, real-world software.
De huidige beste AI kan een paar valkuilen vinden, maar mist de meerderheid. De nieuwe benchmark (SEC-bench Pro) bewijst dat we betere tools nodig hebben om deze AIs te helpen de punten te verbinden tussen de code en de verborgen valkuilen, in plaats van alleen maar te hopen dat ze geluk hebben met een crash.
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.