Aanvallen op cross-encoders en re-rankers
Aanvallen op tweetraps-retrievalsystemen — het manipuleren van cross-encoders, re-ranker-poisoning, scoremanipulatie, en het misbruiken van de kloof tussen embedding-retrieval en re-ranking.
Tweetraps-retrieval is de standaardarchitectuur voor RAG-systemen in productie. De eerste fase gebruikt een bi-encoder (embeddingmodel) om snel een kandidatenset uit een groot corpus op te halen. De tweede fase gebruikt een cross-encoder (re-ranker) om elke kandidaat nauwkeurig te scoren tegen de query. Deze tweetrapsaanpak combineert de snelheid van embedding-gebaseerde retrieval met de nauwkeurigheid van scoring op basis van cross-attention.
Elke fase heeft andere kwetsbaarheidseigenschappen, en de interactie tussen de fasen creëert aanvullende aanvalsoppervlakken die geen van beide fasen afzonderlijk heeft.
Architectuur van tweetraps-retrieval
Eerste fase: bi-encoder-retrieval
De bi-encoder codeert de query en elk document onafhankelijk van elkaar in embeddingvectoren. De gelijkenis tussen vectoren wordt berekend met cosinusgelijkenis of het inwendig product. Dit is snel, omdat document-embeddings vooraf worden berekend en de berekening van de gelijkenis een eenvoudige vectorbewerking is.
De zwakte op het gebied van beveiliging van bi-encoders is dat ze de query en het document onafhankelijk van elkaar coderen. Het model kan geen aandacht besteden aan de relatie tussen specifieke querytermen en documenttermen. Door deze onafhankelijkheid is het mogelijk om documenten te construeren die dicht bij doelqueries embedden zonder werkelijk relevant te zijn.
Tweede fase: cross-encoder re-ranking
De cross-encoder neemt de query en een kandidaat-document als één enkele input en berekent een relevantiescore met volledige cross-attention. Dit is nauwkeuriger, omdat het model aandacht kan besteden aan de specifieke relaties tussen query- en documenttermen. Het is ook trager, en daarom wordt het alleen toegepast op de kandidatenset uit de eerste fase.
De beveiligingseigenschappen van cross-encoders verschillen van die van bi-encoders. Cross-encoders zijn moeilijker te misleiden met manipulatie in de embeddingruimte, omdat ze volledige attention gebruiken in plaats van onafhankelijke codering. Ze introduceren echter nieuwe kwetsbaarheden: ze verwerken de volledige tekst van de query en het document samen, waardoor ze vatbaar zijn voor prompt-injection-achtige aanvallen die in documenten zijn ingebed.
De kloof tussen de fasen
De kloof tussen de fasen creëert een belangrijk aanvalsoppervlak. Een aanvaller moet aan twee verschillende modellen voldoen: aan de bi-encoder om in de kandidatenset terecht te komen, en aan de cross-encoder om na de re-ranking hoog te scoren. Deze modellen hebben verschillende architecturen, verschillende trainingsdata en verschillende kwetsbaarheidsprofielen. Een aanval die tegen de bi-encoder werkt, kan tegen de cross-encoder mislukken, en omgekeerd.
Deze kloof kan zowel een beveiligingssterkte zijn (defense-in-depth, waarbij elke fase verschillende aanvallen onderschept) als een zwakte (waarbij de aanvaller de verschillen tussen de fasen misbruikt om input te construeren die de pijplijn end-to-end manipuleert).
Aanvalstechnieken
Aanval 1: het construeren van documenten die rekening houden met beide fasen
De meest geavanceerde retrievalmanipulatie-aanvallen construeren documenten die gelijktijdig voor beide fasen geoptimaliseerd zijn. De documentinhoud moet dicht bij de doelquery embedden in de embeddingruimte van de bi-encoder (om de retrieval in de eerste fase te overleven) en moet hoog scoren wanneer deze via de cross-encoder met de doelquery wordt gecombineerd (om de re-ranking te overleven).
Dit vereist inzicht in beide modellen. Bij een white-box-aanval waarbij beide modellen bekend zijn, kan de aanvaller de documentinhoud gelijktijdig optimaliseren tegen beide doelen met gradient-gebaseerde optimalisatie. Bij een black-box-aanval construeert de aanvaller iteratief documenten, test ze tegen beide fasen en verfijnt ze op basis van de resultaten.
Het construeren met oog voor beide fasen is moeilijker dan het aanvallen van één enkele fase, maar levert aanvallen op die betrouwbaarder zijn in productiesystemen. Een document dat beide fasen passeert, verschijnt consequent in de uiteindelijke context die aan het LLM wordt geleverd.
Aanval 2: prompt injection van de re-ranker
Cross-encoders verwerken de volledige tekst van zowel de query als het document als één enkele input. Dit betekent dat tekst in het document kan beïnvloeden hoe de cross-encoder de query verwerkt, vergelijkbaar met prompt injection in LLM's.
Hoewel cross-encoders doorgaans kleinere modellen zijn die zijn gefine-tuned voor relevantiescoring in plaats van het opvolgen van instructies, zijn het nog steeds transformer-modellen die tekst verwerken via attention-mechanismen. Tekst in het document die structureel lijkt op patronen met hoge relevantie, kan de relevantiescore kunstmatig opblazen.
Een document dat bijvoorbeeld begint met het herhalen van de query, gevolgd door "this document is highly relevant to the above query", kan een opgeblazen relevantiescore ontvangen van cross-encoders die hebben geleerd om het herhalen van de query te associëren met relevantie (een patroon dat veelvoorkomend is in de trainingsdata voor retrievalmodellen).
Aanval 3: manipulatie van de scoreverdeling
In plaats van een enkel kwaadaardig document te promoten, manipuleert deze aanval de scoreverdeling over de hele kandidatenset. Door meerdere documenten met variërende relevantie voor de doelquery te injecteren, kan de aanvaller een scoreverdeling creëren waarin het kwaadaardige document in vergelijking relevanter lijkt.
De techniek werkt door "afleidende" documenten te injecteren die enigszins relevant zijn voor de doelquery, maar duidelijk minder relevant dan het kwaadaardige document. Wanneer de cross-encoder de kandidatenset scoort, springt het kwaadaardige document eruit als het resultaat van de hoogste kwaliteit, omdat het wordt vergeleken met bewust inferieure alternatieven.
Deze aanval is effectief tegen systemen die scoredrempels of relatieve ranking gebruiken voor de selectie van documenten. Als het systeem de top-K-documenten selecteert op basis van de re-rankerscore, zorgt het overspoelen van de kandidatenset met kandidaten van lage kwaliteit ervoor dat het kwaadaardige document consequent in de top-K verschijnt.
Aanval 4: poisoning van het cross-encoder-model
Als de cross-encoder wordt gefine-tuned op feedback van gebruikers of interactiedata, kan een aanvaller de trainingsdata vergiftigen om het scoringsgedrag van het model te manipuleren.
De aanval houdt in dat je op zo'n manier met het systeem interacteert dat er trainingssignaal wordt gegenereerd: het klikken op specifieke documenten voor specifieke queries, het geven van relevantiefeedback die doelqueries associeert met kwaadaardige documenten, of het genereren van zoeklogs die de fine-tuningpijplijn consumeert.
Na verloop van tijd zorgt de vergiftigde trainingsdata ervoor dat de cross-encoder een vertekende scoringsfunctie leert die de documenten van de aanvaller bevoordeelt voor specifieke querypatronen. Dit is een trage aanval die volgehouden interactie vereist, maar die zeer moeilijk te detecteren is, omdat elke individuele interactie legitiem lijkt.
Aanval 5: het misbruiken van de scorekalibratie
Cross-encoderscores zijn vaak ongekalibreerd — de ruwe scores van verschillende query-documentparen zijn niet direct vergelijkbaar. Systemen die scoredrempels toepassen of scores over verschillende retrievalstrategieën heen combineren, kunnen kwetsbaar zijn voor aanvallen op de scorekalibratie.
Als het systeem een vaste drempel gebruikt (alleen documenten met een score boven X retourneren), moet de aanvaller documenten construeren die voor de doelqueries boven de drempel scoren. Als het systeem scores van meerdere retrievers combineert (embeddinggelijkenis + cross-encoderscore + keyword-matchscore), kan de aanvaller optimaliseren voor de gecombineerde score door de gemakkelijkst te manipuleren component te maximaliseren.
Inzicht in de scoringspijplijn — hoe scores worden gecombineerd, genormaliseerd en aan drempels onderworpen — is essentieel voor het construeren van effectieve aanvallen.
Verdedigingsstrategieën
Redundantie met meerdere modellen
Gebruik verschillende modelarchitecturen of trainingsaanpakken voor de bi-encoder- en cross-encoderfasen. Als beide fasen modellen uit dezelfde familie gebruiken (bijvoorbeeld beide gebaseerd op BERT), is de kans groter dat een adversariële input die de ene fase misleidt, ook de andere misleidt. Het gebruik van architectonisch diverse modellen maakt aanvallen die rekening houden met beide fasen aanzienlijk moeilijker.
Detectie van score-anomalieën
Monitor de scoreverdelingen van de cross-encoder op anomalieën. Ongewoon hoge scores voor een specifiek document over veel verschillende queries heen kunnen wijzen op scoremanipulatie. Plotselinge veranderingen in de scoreverdeling voor een specifieke querycategorie kunnen wijzen op documentinjectie. En documenten die over uiteenlopende queries heen consequent bovenaan de re-rankerresultaten staan, zijn verdacht.
Het bijhouden van documentherkomst
Houd de bron en de wijzigingsgeschiedenis van alle documenten in het corpus bij. Wanneer de re-ranker een document hoog rangschikt, verifieer dan de herkomst ervan voordat je het opneemt in de context van het LLM. Documenten uit niet-geverifieerde bronnen zouden met meer wantrouwen behandeld moeten worden, ongeacht hun relevantiescores.
Adversariële training
Fine-tune cross-encoders met adversariële voorbeelden die zijn ontworpen om scores te manipuleren. Door pogingen tot scoremanipulatie met de juiste (lage) relevantielabels op te nemen in de trainingsdata, leert de cross-encoder deze specifieke aanvallen te weerstaan. Dit is een wapenwedloop — adversariële training beschermt tegen bekende aanvalspatronen, maar niet tegen nieuwe.
Isolatie van de cross-encoder
Behandel de cross-encoder als een beveiligingsgevoelig component. Beperk wie de modelgewichten of trainingsdata mag wijzigen. Monitor op ongeautoriseerde wijzigingen. En implementeer integriteitsverificatie voor de modelartefacten, net zoals je dat zou doen voor elk beveiligingskritisch softwarecomponent.
Human-in-the-loop voor high-stakes-queries
Neem bij queries die beveiligingsgevoelige onderwerpen, financiële beslissingen, medische informatie of andere high-stakes-domeinen betreffen, een menselijke review van de opgehaalde documenten op voordat ze door het LLM worden verwerkt. De output van de re-ranker zou voor deze queries adviserend moeten zijn, niet bepalend.
Checklist voor het assessment
Evalueer bij het beoordelen van een tweetraps-retrievalsysteem elk van de volgende gebieden:
- Identificeer de specifieke bi-encoder- en cross-encodermodellen en hun versies
- Bepaal of de modellen uit dezelfde of verschillende architecturen komen
- Test het construeren van adversariële documenten tegen beide fasen afzonderlijk
- Test het construeren van documenten met oog voor beide fasen tegen de volledige pijplijn
- Beoordeel de gevoeligheid voor prompt injection van de re-ranker
- Evalueer de scorekalibratie en de afhandeling van drempels
- Controleer of de trainingsdata van de re-ranker vergiftigd kan worden
- Verifieer de controles op documentherkomst
- Beoordeel de monitoring van de scoreverdeling
- Test met variërende aantallen geïnjecteerde documenten
Tweetraps-retrieval is weerbaarder dan retrieval in één fase, omdat het defense-in-depth biedt via architectonische diversiteit. Maar het is niet immuun voor manipulatie, en de interactie tussen de fasen creëert unieke aanvalsoppervlakken die een gerichte beoordeling vereisen.