Data poisoning

Wat is data poisoning?

Data poisoning is het bewust manipuleren van de data waar een model uit leert, zodat het afgewerkte model zich gedraagt zoals de aanvaller dat wil. OWASP omschrijft het als het manipuleren van data voor pre-training, fine-tuning of embeddings om er kwetsbaarheden, achterpoortjes of vertekeningen in te brengen.

Wat het anders maakt dan de meeste aanvallen, is de timing. Er is geen moment waarop iemand inbreekt. De aanvaller draagt iets bij aan het materiaal, en wacht daarna. De schade wordt tijdens de training ingebakken, en ze is er vanaf de eerste dag dat het model gebruikt wordt.

Daardoor valt het ook lastig op te merken. Er is niets afwijkends om in je logs te vangen. Het model gedraagt zich precies zoals het geleerd heeft zich te gedragen. Het heeft alleen geleerd uit iets dat voor hem klaargelegd was.

Waar in de keten het kan gebeuren

OWASP noemt vier stappen, en die zijn de moeite om te overlopen, want je blootstelling verschilt per stap.

Pre-training. Het materiaal waarop een basismodel gebouwd wordt, grotendeels van het publieke web geschraapt. Iedereen die tekst op het internet kan zetten, kan eraan bijdragen. Dit ligt ver buiten je controle, en het is de reden om te geven om wie het model gebouwd heeft dat je gebruikt.

Fine-tuning. Data die je gebruikt om een model op een specifieke taak af te stemmen. Deze ligt wel binnen je controle, en het is precies daar dat een slecht nagekeken dataset van een leverancier schade kan doen.

Embeddings. De stap waarin je tekst naar vectoren omgezet wordt. Verstoor die en je beïnvloedt wat je zoekstap vindt, en dus elk antwoord dat daarop gebouwd wordt.

Transfer learning. Een voorgetraind model hergebruiken voor een nieuwe taak. Je erft alles wat in het origineel zat, ook wat er bewust in gezet is.

Achterpoortjes en slapende agents

De variant die beveiligingsmensen wakker houdt, is het achterpoortje.

Met poisoning kan je gedrag planten dat bij normaal gebruik niet opduikt. Het model gedraagt zich volledig normaal tot er een bepaalde trigger in de invoer verschijnt, en dan doet het iets anders. OWASP noemt een model in die toestand een slapende agent, en die beschrijving klopt: het ziet er goed uit, het test goed, en het ligt te wachten.

Wat dit vervelend maakt, is dat al je gewone kwaliteitscontroles slagen. Je kan het model op duizend testgevallen evalueren en niets zien, want de trigger zit in geen enkel van die gevallen. Detecteren is echt moeilijk, en daarom draaien de praktische verdedigingen allemaal rond wat er binnenging in plaats van rond het gedrag achteraf vangen.

Waarom dit jou aanbelangt ook als je nooit traint

De meeste bedrijven die dit lezen, gaan nooit een model fine-tunen, en het is verleidelijk om dit onder andermans probleem te klasseren. Twee dingen brengen het terug bij jou.

Het eerste is het model dat je gekozen hebt. Een open-weight model van een onbekende bron gebruiken, of een fine-tuned variant die iemand gepubliceerd heeft, betekent dat je een trainingsproces vertrouwt dat je niet gezien hebt. Dat is een beslissing over je toeleveringsketen, en die verdient dezelfde aandacht als eender welke andere afhankelijkheid die je binnenhaalt.

Het tweede zit dichter bij huis. Je zoekindex is leermateriaal, op elke manier die ertoe doet. Antwoordt je assistent uit een documentenbibliotheek, dan kan iedereen die daar een document aan kan toevoegen de antwoorden beïnvloeden. Een leverancier die een document uploadt waarin gunstige voorwaarden als feit staan, een ex-medewerker die een beleidspagina aanpast, een binnenkomende mail die in de index belandt: niets daarvan is training in de technische zin, en het verandert allemaal wat je systeem aan mensen vertelt.

Dat kader is het bruikbare voor een gewoon bedrijf. Vraag je af wie tekst kan zetten op een plek waar jouw AI ze zal lezen. Die lijst is meestal langer dan mensen verwachten.

Wat je eraan doet

Weet waar je data vandaan komt. Data lineage is hier de kernverdediging. Kan je niet zeggen waar een dataset of een document vandaan komt, dan kan je het ook niet beoordelen. OWASP wijst daarvoor op gereedschap, waaronder een stuklijst voor machine learning-onderdelen, wat hetzelfde idee is als een stuklijst voor software.

Screen je leveranciers en hun datasets. Een dataset die een derde partij levert, verdient dezelfde nalezing als code van een derde partij, en krijgt er meestal een stuk minder.

Versioneer alles. Met geversioneerde datasets en geversioneerde indexen kan je de vraag beantwoorden wat er veranderd is tussen de ronde die goed was en de ronde die dat niet was.

Beheer wie in je index mag schrijven. Dit is de praktische. Een document aan een zoekindex toevoegen hoort een beheerde handeling met een eigenaar te zijn, en niet iets dat eender wie kan doen door een bestand in een map te droppen.

Test aanvallend. Red teaming en robuustheidstesten zijn hoe je zoekt naar gedrag dat je niet bedoeld hebt, ook gedrag dat enkel onder bepaalde omstandigheden opduikt.

Hou de trainingssignalen in het oog. Train of fine-tune je zelf, dan zijn ongewone patronen in de trainingsfout een van de weinige signalen dat er iets scheelt met de data.

Waar moet je op letten bij data poisoning

Niet elk fout antwoord is een aanval. Tegenstrijdige documenten, verouderde beleidsteksten en dubbele records geven hetzelfde symptoom als poisoning en komen veel vaker voor. Kijk dus eerst naar de gewone verklaring.

Testsets vangen geen achterpoortjes. Je testvragen meten wat je bedacht hebt om te vragen. Een trigger waar je nooit aan gedacht hebt, staat er niet in.

Fine-tunen op je eigen data verandert je risicopositie. Zodra je traint, wordt de kwaliteit en de herkomst van je eigen data een beveiligingsvraag en niet enkel een kwaliteitsvraag.

Een model dat als handige variant gepubliceerd staat, blijft een onbekende. Een fine-tuned model van een publieke hub halen is handig, en het is evengoed een trainingsproces aanvaarden dat je niet kan inkijken.

Je zoekindex heeft een eigenaar nodig. Iemand moet verantwoordelijk zijn voor wat erin staat, wanneer het toegevoegd is en door wie. Zonder dat heb je een gedeelde map die klantenvragen beantwoordt.

Laatst Bijgewerkt: August 25, 2026 Terug naar Woordenboek
Trefwoorden
data poisoning model poisoning achterpoortje fine-tuning embeddings rag data lineage open-weight model owasp ai-beveiliging datakwaliteit