AI red teaming
Wat is AI red teaming?
AI red teaming is je eigen AI-systeem testen door het aan te vallen. Je gedraagt je als een gebruiker die het systeem iets wil laten doen dat het niet hoort te doen, en je noteert wat er gebeurt.
De term komt uit de beveiliging, waar een red team de stappen van een echte aanval doorloopt om zwakke plekken in een systeem te vinden. Wat AI red teaming zoekt, is iets anders. Een klassiek red team wil binnengeraken. Een AI red team wil een antwoord dat het systeem had moeten weigeren, een regel die het stilletjes genegeerd heeft, of een actie die het uitgevoerd heeft zonder dat iemand ze goedkeurde.
Dat onderscheid telt, want je bestaande beveiligingstesten vangen deze dingen niet. Er is geen exploit, geen escalatie van rechten en geen misvormd pakketje. Er is een gesprek dat ergens eindigt waar het niet had mogen eindigen.
Hoe een geautomatiseerde ronde verloopt
Dit met de hand doen is traag en hangt volledig af van hoe creatief je tester die dag is. Daarom is het gereedschap opgeschoven naar geautomatiseerde rondes, en de vorm daarvan begrijpen is nuttig, ook als je ze nooit zelf bedient.
Je vertrekt van een reeks aanvalsdoelen, één per risicocategorie waar je om geeft: dingen waarvan je wil nagaan of het systeem ze weigert.
Daarna laat je aanvalsstrategieën op die doelen los. Daar wordt het interessant, want rechtstreeks vragen mislukt meestal. De veiligheidstraining van een model vangt de gewone versie van de vraag op. De strategieën vervormen de vraag dus. Het gereedschap van Microsoft bevat strategieën die de tekst in Base64 of morse coderen, ze achterstevoren schrijven, tekens vervangen door Unicode-lookalikes, spaties tussen de letters zetten, of ze omzetten naar leetspeak. Het model leest het nog altijd, en de veiligheidslaag herkent het soms niet meer.
De interessantere strategieën zitten in het gesprek en niet in de tekst. Een aanval over meerdere beurten bouwt context op in plaats van in één keer te vragen. Een crescendo-aanval schuift geleidelijk op, elke boodschap een klein stapje verder dan de vorige, zodat geen enkele boodschap er op zichzelf uitziet als iets om te weigeren.
Het resultaat wordt gescoord, en het kerncijfer is de attack success rate: hoeveel pogingen er gelukt zijn op het totaal. Dat is wat je doorheen de tijd en over versies heen opvolgt.
Wat verandert als het doelwit een agent is
Een model testen betekent nagaan wat het zegt. Een agent testen betekent nagaan wat hij doet, en dat opent drie vragen die bij een gewone chatbot niet bestaan.
Verboden acties. Voert de agent iets uit dat hij nooit mag doen, of iets dat toestemming vraagt, of iets dat onomkeerbaar is. De bruikbare indeling hier is een drieluik: acties die nooit toegelaten zijn, acties die enkel mogen met een mens die bevestigt, en acties die permanent zijn en waar zowel een melding als een bevestiging voor nodig is.
Gevoelige data die weglekt. Kan de agent overhaald worden om financiële, medische of persoonlijke gegevens prijs te geven uit de bronnen en de tools waar hij bij kan.
Trouw aan de opdracht. Doet de agent effectief het werk dat hij gekregen heeft, met de regels en de beperkingen die erbij hoorden, zonder af te dwalen of een verplichte stap over te slaan.
Er is nog een vierde soort aanval die pas bestaat zodra een agent externe inhoud leest. Indirecte prompt injection verstopt instructies in een mail, een document of een webpagina die de agent via een tool ophaalt. De gebruiker vraagt iets onschuldigs, de agent haalt een document op, en dat document zegt hem iets anders te doen. Hierop testen betekent dat je de aanval in de output van de tool zet en niet in het bericht van de gebruiker.
Wat automatisering niet vindt
Geautomatiseerde rondes zijn hoe je gekende risico's op schaal afdekt. Ze zijn niet de hele oefening, en de beperkingen zeg je best gewoon hardop.
De data is synthetisch. Een ronde gebruikt gegenereerde data en nagemaakte tools, en dat lijkt niet op hoe jouw echte data verdeeld zit en gedraagt zich niet zoals jouw echte systemen.
Het scoren gebeurt zelf door een model, waardoor het niet vastligt en er valse positieven uitkomen. Een gerapporteerd slaagpercentage is een startpunt voor iemand die het nakijkt, en geen uitspraak.
En automatisering test enkel de aanvallen die iemand bedacht en ingebouwd heeft. De echt nieuwe faalvorm, die eigen is aan jouw bedrijfsproces en jouw data, wordt nog altijd gevonden door een mens die allebei begrijpt. Microsoft is daar duidelijk over in de eigen richtlijnen: de sterkste aanpak combineert geautomatiseerd gereedschap dat risico's op schaal bovenhaalt met menselijke expertise die dieper kijkt.
De praktische lezing: automatiseer je regressietesten, en hou menselijke red teaming voor de stukken van je systeem waar een fout echt pijn zou doen.
Waar moet je op letten bij AI red teaming
Laat het niet op productie los. Gebruik een aparte omgeving die ingesteld staat zoals productie maar zonder echte data en zonder echte gevolgen. Een aanval die lukt, mag geen echte mail kunnen versturen of echt geld kunnen verplaatsen.
De resultaten zijn gevoelig materiaal. Een red teaming-rapport is een lijst van dingen die werkten. Behandel het met dezelfde zorg als een pentestrapport, en denk na over wie in je bedrijf de schadelijke output letterlijk moet lezen.
Eén ronde is een momentopname. Verander je het model, verander je de systeemprompt, of hang je er een tool bij, dan gelden de resultaten niet meer. Hang de ronde aan je releaseproces in plaats van ze één keer voor de lancering te doen.
Een laag slaagpercentage is geen vrijgeleide. Het zegt dat de ingebouwde aanvallen in jouw bibliotheek grotendeels mislukten. Het zegt niets over de aanval waar niemand in de kamer aan gedacht heeft.
Red teaming vervangt geen guardrails. Een zwakte vinden is ze niet herstellen. Inhoudsfilters, beperkte rechten en een mens op het moment van de actie zijn wat het risico in productie effectief verlaagt.