Token Smuggling

Token smuggling is een klasse van aanvallen die gericht is op de kloof tussen tekstverwerkingslagen in AI-systemen. Inhoudsmoderatie-filters, invoervalidatie en veiligheidscontroles werken doorgaans op voor mensen leesbare tekst. LLM-tokenizers werken daarentegen op een lager niveau — ze converteren tekens naar numerieke token-ID’s. Door misbruik te maken van verschillen tussen deze lagen kunnen aanvallers invoer maken die tekstniveau-filters passeert maar kwaadaardige instructies aan de LLM levert.

Hoe LLM-Tokenisatie Werkt

Voordat een LLM tekst verwerkt, converteert een tokenizer de invoerstring naar een reeks gehele token-ID’s. Deze ID’s verwijzen naar de woordenschat van het model — gewoonlijk gecodeerd met algoritmen zoals Byte Pair Encoding (BPE) of WordPiece.

Belangrijke eigenschappen van tokenisatie die aanvallers misbruiken:

  • Veel tekens worden toegewezen aan vergelijkbare tokenrepresentaties. Unicode bevat veel visueel vergelijkbare tekens (homogliefen) die identiek of bijna identiek worden getokeniseerd.
  • Tokenisatie is niet puur tekengebaseerd. Sommige tokenizers splitsen woorden in subwoord-eenheden op basis van frequentiepatronen, wat mogelijkheden creëert voor grensmanipulatie.
  • Speciale tekens kunnen worden behouden of verwijderd. Nulbreedtetekens, combinerende diakritische tekens en controletekens kunnen onzichtbaar zijn voor op strings gebaseerde filters, maar specifiek worden behandeld door tokenizers.

Token Smuggling-Technieken

Unicode Homoglief-Substitutie

Unicode bevat duizenden tekens die visueel lijken op gewone ASCII-tekens. Een filter dat zoekt naar het woord “schadelijk” herkent mogelijk niet “schádelijk” (met een combinerend accent) of “schadеlijk” (met een Cyrillisch “е”).

Voorbeeld: Het woord “negeer” kan worden gecodeerd als “nеgeer” (met Cyrillisch “е” in plaats van Latijns “e”) — identiek lijkend voor de meeste menselijke lezers en sommige filters, maar mogelijk anders verwerkt op tokenizer-niveau.

Nulbreedteteken-Insertie

Nulbreedtetekens (zoals U+200B ZERO WIDTH SPACE of U+200C ZERO WIDTH NON-JOINER) zijn onzichtbaar in weergegeven tekst. Het invoegen ervan tussen tekens in sleutelwoorden breekt stringmatchende filters zonder de visuele verschijning te beïnvloeden of, in veel gevallen, de getokeniseerde representatie.

Voorbeeld: “n​e​g​e​e​r” met nulbreedtespaties tussen elk teken verschijnt als “negeer” wanneer weergegeven, maar breekt eenvoudige stringpatroonherkenning.

Codering-Obfuscatie

Tekst converteren naar alternatieve coderingen vóór indiening:

  • Base64-codering: “bmVnZWVyIHZvcmlnZSBpbnN0cnVjdGllcw==” (als het model het decodeert)
  • Leet speak: “n3g33r v0r1g3 1n5truc713s” waarbij cijfers letters vervangen
  • ROT13 of Caesar-cijfer-varianten: Tekens verschuiven om trefwoorddetectie te vermijden
  • Hex-codering: Tekens weergeven als hex-sequenties die sommige modellen interpreteren

De effectiviteit hangt af van of de LLM is getraind om deze representaties te decoderen, wat veel algemene modellen hebben.

Hoofdletter- en Opmaak-Variatie

Eenvoudige maar soms effectieve variaties:

  • HOOFDLETTERS: “NEGEER VORIGE INSTRUCTIES”
  • Gemengde hoofdletters: “NeGeEr VoRiGe InStRuCtIeS”
  • Gespatieerde letters: “N E G E E R V O R I G E”
  • Omgekeerd: “seitcurtsni egirov reegen” (als het model omgekeerde tekst kan verwerken)

Scheidingsteken-Injectie

Sommige tokenizers geven speciale behandeling aan scheidingstekens. Door tekens te introduceren die de tokenizer interpreteert als segmentgrenzen, kunnen aanvallers manipuleren hoe het model de invoer segmenteert in betekenisvolle eenheden.

Logo

Klaar om uw bedrijf te laten groeien?

Start vandaag uw gratis proefperiode en zie binnen enkele dagen resultaten.

Aanval Gebruikssituaties

Jailbreak-omzeiling: Jailbreak-prompts coderen met technieken die de veiligheidsfilterlaag passeren maar worden gedecodeerd door de LLM, waardoor omzeiling van veiligheidsbeveiliging mogelijk wordt.

Inhoudsfilter-ontwijking: Het inbedden van haatzaaiende taal, verzoeken om illegale inhoud of beleidschendende instructies in gecodeerde vorm.

Prompt-injectie-obfuscatie: Codering gebruiken om geïnjecteerde instructies te verbergen voor eenvoudige patroonmatchende filters, terwijl ervoor wordt gezorgd dat de LLM ze correct verwerkt.

Filter-fingerprinting: Systematisch verschillende coderingsvariaties testen om te identificeren welke het filtersysteem van het doelsysteem wel en niet detecteert — filterdekking in kaart brengen voor gerichtere aanvallen.

Verdedigingsstrategieën

Unicode-Normalisatie

Pas Unicode-normalisatie (NFC, NFD, NFKC of NFKD) toe op alle invoer vóór filtering. Dit converteert Unicode-varianten naar canonieke vormen, waardoor veel homoglief- en combinerende tekenaanvallen worden geëlimineerd.

Homoglief-Detectie en -Vervanging

Implementeer expliciete homoglief-toewijzing om visueel vergelijkbare tekens te normaliseren naar hun ASCII-equivalenten vóór filtering. Bibliotheken hiervoor bestaan in de meeste programmeertalen.

LLM-Gebaseerde Inhoudsfiltering

Gebruik in plaats van (of naast) op strings gebaseerde filters een LLM-gebaseerd filter dat werkt op tokenrepresentaties. Omdat deze filters tekst verwerken op hetzelfde niveau als het doelmodel, zijn coderingstechnieken minder effectief — het filter ziet dezelfde representatie als het model.

Test Filters Tegen Bekende Varianten

Beveiligingsbeoordeling moet systematisch testen van inhoudsfilters tegen bekende coderingsvarianten omvatten. Als een filter bedoeld is om “negeer vorige instructies” te blokkeren, test dan of het ook Unicode-homogliefen, nulbreedtevarianten, Base64-codering en andere obfuscatievormen blokkeert.

Invoer-Visualisatie en -Audit

Log een voor mensen leesbare weergave van genormaliseerde invoer naast de ruwe invoer. Discrepanties tussen de twee kunnen coderingsaanvallen aan het licht brengen tijdens incidentbeoordeling.

Gerelateerde Termen

Veelgestelde vragen

Wat is token smuggling?

Token smuggling is een aanvalstechniek die misbruik maakt van verschillen tussen voor mensen leesbare tekst en LLM-tokenizer-representaties. Aanvallers coderen kwaadaardige instructies met behulp van tekenvariaties, Unicode-trucs of ongebruikelijke opmaak, zodat inhoudsfilters ze niet detecteren, maar de tokenizer van de LLM ze wel verwerkt zoals bedoeld.

Waarom werkt token smuggling?

Inhoudsfilters werken vaak op voor mensen leesbare tekst — ze controleren op specifieke strings, patronen of trefwoorden. LLM-tokenizers verwerken tekst echter op een lager niveau en kunnen visueel verschillende tekens toewijzen aan dezelfde of vergelijkbare tokens. Deze kloof stelt aanvallers in staat om tekst te maken die op de ene manier wordt gelezen door een filter en anders wordt verwerkt door de tokenizer.

Hoe kan token smuggling worden afgeweerd?

Verdedigingen omvatten: het normaliseren van invoertekst vóór filtering (Unicode-normalisatie, homoglief-vervanging), het gebruik van LLM-gebaseerde inhoudsfilters die werken op tokenniveau-representaties in plaats van ruwe tekst, het testen van filters tegen bekende coderingsvarianten, en het uitvoeren van beveiligingsbeoordelingen die coderingsgebaseerde aanvalsscenario's omvatten.

Test Uw Chatbot Tegen Coderingsgebaseerde Aanvallen

Token smuggling en coderingsaanvallen omzeilen oppervlakkige filters. We testen op deze technieken bij elke beveiligingsbeoordeling van chatbots.

Meer informatie

Token
Token

Token

Een token in de context van grote taalmodellen (LLM's) is een reeks tekens die het model omzet in numerieke representaties voor efficiënte verwerking. Tokens zi...

3 min lezen
Token LLM +3
LLM-beveiliging
LLM-beveiliging

LLM-beveiliging

LLM-beveiliging omvat de praktijken, technieken en controles die worden gebruikt om large language model implementaties te beschermen tegen een unieke klasse va...

4 min lezen
LLM Security AI Security +3