Evaluating LLMs for Real-World Web Vulnerability Detection
Dit artikel benchmarkt zes frontier en open-weight Large Language Models op hun vermogen om realtime webkwetsbaarheden in WordPress-plugins te detecteren, waarbij wordt onthuld dat hoewel alle modellen geldige problemen kunnen identificeren, de detectiepercentages significant variëren per model en promptontwerp, waarbij geen enkel model consistente rapportage of perfecte nauwkeurigheid over iteraties heen bereikt.
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 enorme bibliotheek hebt van digitale "gebruiksaanwijzingen" (code) voor het bouwen van websites. Sommige van deze handleidingen bevatten verborgen vallen—zoals een losse vloerplank die leidt naar een kelder vol dieven (hackers). Deze vallen worden vulnerabilities (kwetsbaarheden) genoemd.
Lange tijd vereiste het vinden van deze vallen een team van deskundige beveiligingsbewakers die elke pagina van elke handleiding handmatig moesten lezen. Maar onlangs is er een nieuw soort "superlezer" gearriveerd: Large Language Models (LLMs). Dit zijn AI-systemen die code kunnen lezen en begrijpen bijna zoals een mens dat doet.
Dit papier is in feite een rapportcijfer dat test hoe goed zes verschillende "superlezers" deze verborgen vallen kunnen vinden in WordPress-websiteplugins (de add-ons die websites extra functies geven).
Hier is de uitsplitsing van hun experiment en bevindingen, met behulp van eenvoudige analogieën:
1. De Opzet: De "Vallenjacht"
De onderzoekers kozen vier populaire WordPress-plugins die bekend stonden om specifieke, reële vallen (zoals SQL Injection, wat een hacker-truc is om een database zijn geheimen te laten verklappen, of Cross-Site Scripting, wat lijkt op een hacker die een nepnotitie in een openbaar mededelingenbord injecteert).
Ze vroegen zes verschillende AI-modellen om zich als security auditors te gedragen. Ze vroegen het niet slechts één keer; ze voerden de test drie keer uit om te zien of de AI consistent was, zoals een leerling vragen om drie dagen achter elkaar dezelfde toets te maken.
Ze probeerden ook verschillende manieren om de vraag te stellen (genaamd "prompts"):
- De "Luie" Prompt: Zegde alleen: "Vind de bugs."
- De "Algemene" Prompt: Zegde: "Je bent een security expert. Vind alle belangrijke soorten bugs."
- De "Specifieke" Prompt: Zegde: "Je bent een security expert. Zoek specifiek naar dit exacte type bug."
2. De Resultaten: Wie is geslaagd voor de toets?
De resultaten waren een mix van indrukwekkend succes en frustrerende inconsistentie.
- De Sterleerling: Eén model, Claude Opus 4.6, was het beste in zijn werk. Het vond ongeveer 63% van de bekende vallen. Het was de meest betrouwbare "detective".
- De Open-Source Verrassing: Een model genaamd MiniMax M2.5, dat je op je eigen computer kunt draaien (in tegen tegenstelling tot de anderen die een abonnement vereisen), presteerde net zo goed als de beste betaalde modellen en vond ongeveer 48% van de vallen. Dit is alsoals een zelfgekookte maaltijd die net zo goed smaakt als een gerecht van een vijfsterrenrestaurant.
- De Moeitevolle: De Qwen-modellen (een andere open-source optie) vonden slechts ongeveer 35% van de vallen. Ze misten het meer dan de helft van de tijd.
De Belangrijkste Conclusie: Zelfs de beste AI mistte bijna 40% van de vallen. Geen enkel AI-model vond elke val in elke plugin.
3. De "Magische Vraag" (Prompt Design)
De onderzoekers ontdekten dat hoe je de AI vraagt belangrijker is dan welke AI je gebruikt.
- Specifiek is Beter: Als je de AI vertelde: "Zoek specifiek naar SQL Injection," vond het meer bugs dan wanneer je zei: "Zoek naar alles wat er mis is." Het is alsof je een metaaldetectiegebruiker vertelt: "Zoek naar gouden munten," in plaats van "Zoek naar alles wat van metaal is."
- Complexiteit Helpt Niet: Het geven van een lange, ingewikkelde stapsgewijze instructiehandleiding maakte de AI niet slimmer. Simpele, directe instructies werkten net zo goed.
4. Het "Muntopwerp"-probleem (Consistentie)
Dit was de meest verrassende bevinding. De AI was onbetrouwbaar.
Als je dezelfde AI drie keer dezelfde vraag stelde over dezelfde code, gaf het een ander antwoord.
- Soms zei het: "Ik heb een val gevonden!"
- De volgende keer zei het: "Alles ziet er veilig uit."
- De derde keer zei het misschien: "Ik heb een val gevonden, maar het is een andere."
Slechts één model (Gemini) was 95% van de tijd consistent, maar het was ook degene die de minste vallen vond. De beste modellen waren vaak inconsistent en gedroegen zich als een muntopwerp. Dit betekent dat je niet op één enkele scan kunt vertrouwen; je moet de scan meerdere keren uitvoeren om zeker te zijn.
5. De "Ghost Trap" (De Val die ze allemaal Misten)
Er was één specifieke plugin met een lastige val genaamd "Stored Cross-Site Scripting." Geen enkele van de zes AI's vond deze, zelfs niet na 90 pogingen.
Waarom? De val zat verborgen achter een zeer specifieke instelling die niet standaard aan stond. De AI's gingen ervan uit: "Omdat de instelling niet aan staat, doet deze code er niet toe," en sloegen eroverheen. Het was een geval waarbij de AI een logische aanname deed die achteraf fout bleek te zijn.
6. Hoe Vergelijkt Dit met Oude Tools?
De onderzoekers haalden de code ook door een traditionele security scanner (Semgrep), wat als een metaaldetector is die alleen piept voor specifieke vormen.
- Het Resultaat: De traditionele scanner vond nul van de bekende vallen.
- De Les: De AI's waren veel beter in het vinden van deze specifieke reële vallen dan de oude tools, maar ze misten nog steeds enkele.
Het Eindvondict
Het papier concludeert dat AI een krachtige assistent is, maar geen vervanging voor menselijke security experts.
- Het werkt: AI kan echte, gevaarlijke bugs in websitecode vinden.
- Het is niet perfect: Het mist ongeveer de helft van de bugs en verandert regelmatig van mening.
- Hoe te gebruiken: Je krijgt de beste resultaten door een topmodel te gebruiken (zoals Claude), het een specifieke vraag te stellen ("Zoek SQL bugs") en de test meerdere keren uit te voeren.
- De Waarschuwing: Je kunt de AI niet blind vertrouwen op zijn rapport. Mensen moeten de bevindingen nog steeds controleren omdat de AI soms "hallucineert" (bugs verzint die niet bestaan) of complexe vallen mist.
Kortom: AI is een geweldige nieuwe zaklamp om gaten in de bepantsering van je website te vinden, maar je hebt nog steeds een mens nodig om de zaklamp vast te houden, de schaduwen te controleren en te zorgen dat de muur daadwerkelijk veilig is.
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.