Snyk VulnBench JS 1.0: Can LLMs Find the Same Bugs Twice?
Dit artikel으로ontstaat dat hoewel agentische LLM's een hoge stabiliteit vertonen bij het reproduceren van bekende kwetsbaarheden, hun vermogen om nieuwe problemen te ontdekken zeer inconsistent is, wat suggereert dat op LLM gebaseerde security reviews een deterministische statische applicatiebeveiligingstest (SAST) moeten aanvullen in plaats van vervangen.
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 zeer strikte, regelvolgende beveiligingsbeveiliger hebt (laten we hem SAST noemen) en een briljante, creatieve, maar soms afleidbare detective (laten we haar LLM noemen). Beiden zijn ingehuurd om hetzelfde kleine JavaScript-gebouw te inspecteren op verborgen vallen (kwetsbaarheden).
Het paper "Snyk VulnBench JS 1.0" stelt een eenvoudige maar cruciale vraag: Als je hen allebei vijf keer achter elkaar exact hetzelfde gebouw laat inspecteren, geven ze je dan elke keer exact hetzelfde rapport?
Hier is wat ze hebben gevonden, onderverdeeld in alledaagse concepten:
1. De Strikte Bewaker vs. De Creatieve Detective
- De Strikte Bewaker (SAST): Dit hulpmiddel is als een robot met een checklist. Als de code niet is veranderd, geeft de robot elke keer exact hetzelfde rapport. Hij wordt nooit moe, raakt nooit afgeleid en mist nooit twee keer hetzelfde ding. In deze studie was hij 100% consistent.
- De Creatieve Detective (LLM): Dit is een AI die kan "denken" en redeneren. Ze is geweldig in het opsporen van lastige, vreemde vallen die een robot misschien mist. Echter, ze is als een mens: soms is ze scherp, soms is ze moe, en soms ziet ze dingen die er eigenlijk niet zijn.
2. De "Vijf Keer" Test
De onderzoekers stuurden de AI-detective vijf keer achter elkaar het gebouw inspecteren. Dit is wat er gebeurde:
- Wanneer de AI een "bekende" val vond: Als de AI een val opspoort die de Strikte Bewaker al had geïdentificeerd, was ze zeer betrouwbaar. Ze vond diezelfde val in bijna elke run (85% van de tijd). Ze was consistent wanneer ze het eens was met de regels.
- Wanneer de AI een "nieuwe" val vond: Hier werd het rommelig. De AI begon nieuwe, unieke vallen te rapporteren die de Strikte Bewaker niet zag.
- Het Probleem: Bijna de helft van deze "nieuwe" rapporten waren eenmalige verschijningen. Ze verschenen slechts in één van de vijf runs en verdwenen daarna weer.
- De Analogie: Stel je voor dat de detective zegt: "Ik zag een spook in de gang!" op maandag. Op dinsdag zegt ze: "Nee, geen spook." Op woensdag zegt ze: "Eigenlijk was het gewoon een rek met jassen." Op donderdag: "Spook!" weer. Als je de eigenaar van het gebouw bent, weet je niet of je bang moet zijn of dat ze gewoon dingen verbeeldt.
3. De "Ruis" Factor
De studie vond dat de "extra" rapporten van de AI erg ruizig waren.
- De "Eenmalige" Rapporten: Ongeveer 50% van de unieke zaken die de AI rapporteerde, kwamen slechts één keer voor. Als je de scan vijf keer zou draaien, zou je een volledig andere lijst met "extra" waarschuwingen krijgen, afhankelijk van welke run je toevallig te pakken kreeg.
- De Stabiele Rapporten: De zaken waar de AI en de Strikte Bewaker het over eens waren, waren stabiel. Die veranderden niet.
4. Groter Betekent Niet Beter
De onderzoekers probeerden verschillende versies van de AI uit, inclusief een "superdure" en "superintelligente" versie.
- Het Resultaat: De meest dure, krachtige AI deed het niet het beste. Sterker nog, ze was duurder, gebruikte meer computerkracht en was minder consistent dan een goedkopere, kleinere versie.
- De Les: Alleen omdat je betaalt voor de "slimste" detective, betekent dat niet dat ze een betrouwbaarder rapport geeft. Soms is de simpelere, meer gefocuste detective consistenter.
5. Verschillende Sterktes, Verschillende Blinde Vlekken
Het paper concludeert dat je niet voor één van de twee moet kiezen; je hebt beiden nodig.
- De Strikte Bewaker is geweldig in het systematisch controleren van elke buis en draad op lekken (zoals het controleren van herhaalde datastromen). Hij mist nooit twee keer hetzelfde lek.
- De Creatieve Detective is geweldig in het opsporen van complexe, vreemde patronen die op een val lijken maar niet op een checklist staan (zoals het spotten van een verdachte SQL-injectie die de bewaker heeft gemist).
- De Catch: De detective mist soms de overduidelijke, herhaalde lekken die de bewaker vangt, en soms raakt de detective in de war door nep-vallen.
De Kern van het Verhaal
Als je je alleen op de AI-detective verlaat, krijg je misschien elke keer een ander beveiligingsrapport als je controleert, en zul je veel tijd kwijt zijn aan het uitzoeken welke van haar "geesten" echt zijn en welke gewoon rekken met jassen zijn.
Als je je alleen op de Strikte Bewaker verlaat, mis je misschien de lastige, creatieve vallen.
De Beste Strategie: Gebruik de Strikte Bewaker om de overduidelijke, herhaalde lekken te vangen (omdat hij nooit van gedachten verandert), en gebruik de Creatieve Detective om de lastige, ongewone zaken te vinden, maar wees bereid om haar "extra" bevindingen dubbel te controleren omdat het toevalstreffers kunnen zijn. Ze werken het best wanneer ze elkaar helpen, niet wanneer ze proberen elkaar te vervangen.
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.