Leveraging Large Language Models for Trustworthiness Assessment of Web Applications
Dit artikel presenteert een empirische methode om de betrouwbaarheid van webapplicaties te beoordelen door Large Language Models te gebruiken voor het automatisch verifiëren van beveiligingspraktijken, waarbij een hiërarchisch kwaliteitsmodel wordt ingezet om een holistische betrouwbaarheidsscore te genereren.
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
Samenvatting: Hoe AI (LLM's) ons helpen om veilige websites te bouwen
Stel je voor dat een website een groot, complex huis is. De eigenaren willen zeker weten dat dit huis veilig is: geen open deuren voor inbrekers, geen rotte vloeren en geen lekken in het dak. In de digitale wereld noemen we dit vertrouwen (trustworthiness).
Deze paper onderzoekt hoe we moderne kunstmatige intelligentie (zogenoemde Large Language Models of LLM's, zoals de slimme chatbots die je misschien kent) kunnen gebruiken om dit huis te inspecteren, in plaats van dat we er duizenden mensen voor moeten inhuren.
Hier is de uitleg in simpele taal, met een paar creatieve vergelijkingen:
1. Het Probleem: De "Manuele" Inspectie is te Traag
Vroeger keken experts met een vergrootglas naar elke regel code (de bouwplannen van de website) om fouten te zoeken.
- Het probleem: Dit is extreem langzaam, duur en subjectief. Het is alsof je probeert een heel bos te inspecteren door elke boom één voor één te tellen.
- De huidige tools: Bestaande software zoekt vaak alleen naar bekende "inbraakgaten" (bekende fouten). Maar wat als er een nieuw, onbekend gat is? Of wat als de bouwplannen gewoon slordig zijn gemaakt, ook al is er nog geen gat? De huidige tools missen vaak de "onzichtbare" zwaktes.
2. De Oplossing: De AI als Slimme Bouwinspecteur
De auteurs van dit onderzoek hebben een nieuw idee: Laat de AI de bouwplannen lezen.
Deze AI's zijn getraind op enorme hoeveelheden code en weten wat "goede" en "slechte" bouwpraktijken zijn. Ze kunnen sneller lezen dan een mens en weten precies waar ze moeten zoeken.
De onderzoekers wilden weten: Kan deze AI echt begrijpen of een website veilig is gebouwd, of is hij alleen maar aan het raden?
3. De Experimenten: Hoe praten we met de AI?
De onderzoekers hebben de AI verschillende "opdrachten" (prompts) gegeven om te zien welke methode het beste werkt. Ze gebruikten een dataset van Java-websitecode, waarvan ze precies wisten welke versies veilig waren en welke vol gaten zaten.
Ze testten vier manieren om de AI te instrueren:
Methode A: De "Blind" Vraag (De Basis)
- Vergelijking: Je vraagt de AI: "Is dit huis veilig?" zonder extra informatie.
- Resultaat: De slimste AI's (zoals de nieuwste modellen) deden het redelijk goed, maar de kleinere modellen raakten in de war. Ze maakten veel fouten omdat ze te weinig context hadden.
Methode B: De "Voorbeeld" Vraag (Met Slechte Voorbeelden)
- Vergelijking: Je geeft de AI een lijst met fouten en zegt: "Kijk, dit is hoe je het niet moet doen."
- Resultaat: Dit hielp de slimste AI's enorm. Maar voor de kleinere, snellere modellen werd het juist verwarrend. Het was alsof je een kind te veel regels geeft; het raakt de draad kwijt.
Methode C: De "Gehele Plannen" Vraag (Structuur)
- Vergelijking: Je geeft de AI niet alleen de bouwplannen van één kamer, maar van het hele huis, inclusief de kelder en de zolder, zodat hij ziet hoe alles samenhangt.
- Resultaat: Dit werkte slecht! De AI raakte overspoeld door informatie. Het was alsof je iemand probeert te helpen door hem een berg papier te geven in plaats van één duidelijke tekening. De AI zag de belangrijke fouten niet meer tussen al die extra details.
Methode D: De "Strenge Regels" Vraag (De Winnaar)
- Vergelijking: Je geeft de AI een duidelijke checklist: "Als er een raam is, moet er een slot op zitten. Ja of Nee?" Geen vage vragen, maar harde regels.
- Resultaat: Dit was de beste methode! Zelfs de kleinere, snellere AI's deden het hiermee uitstekend. Door de instructies heel simpel en logisch te houden, konden ze de fouten veel betrouwbaarder vinden.
4. De Einduitslag: Een "Veiligheidscijfer"
Het doel was niet alleen om fouten te vinden, maar om een algemeen veiligheidscijfer te geven (van 0 tot 100).
- De onderzoekers lieten de AI de gevonden fouten tellen en een eindcijfer berekenen.
- Belangrijk inzicht: Als je de AI vraagt om zomaar een cijfer te bedenken, is dat vaak willekeurig (de AI "hallucineert" een getal).
- De oplossing: Laat de AI alleen de feiten vinden (ja/nee bij elke regel), en laat een strakke wiskundige formule (een "kwaliteitsmodel") het eindcijfer berekenen. Zo krijg je een eerlijk en betrouwbaar cijfer.
Conclusie in het Kort
Deze studie laat zien dat we AI kunnen gebruiken om websites veiliger te maken, maar we moeten het slim aanpakken:
- Geef de AI geen te veel informatie (dat maakt hem dom).
- Geef de AI geen vage vragen.
- Geef de AI duidelijke, strenge regels (checklists).
Als we dit doen, kunnen we websites automatisch en snel controleren, net als een slimme robot die elke dag langs komt om te kijken of de deuren goed op slot zijn. Dit maakt het mogelijk om veilige software te bouwen, zelfs als er weinig tijd en geld is.
Kortom: AI is een geweldig hulpmiddel, maar alleen als je hem de juiste instructies geeft. Geef hem geen rommelige stapel papier, maar een duidelijke checklist, en hij doet wonderen.
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.