Token Smuggling

Token smuggling er en klasse av angrep som retter seg mot gapet mellom tekstbehandlingslag i AI-systemer. Innholdsmodereringsfiltre, inndatavalidering og sikkerhetskontroller opererer vanligvis på menneskelig lesbar tekst. LLM-tokenizere opererer derimot på et lavere nivå — og konverterer tegn til numeriske token-IDer. Ved å utnytte forskjeller mellom disse lagene kan angripere lage inndata som passerer tekstnivåfiltre, men leverer ondsinnede instruksjoner til LLM-en.

Hvordan LLM-tokenisering fungerer

Før en LLM behandler tekst, konverterer en tokenizer inndatastrengen til en sekvens av heltalls-token-IDer. Disse IDene kartlegges til modellens vokabular — vanligvis kodet ved hjelp av algoritmer som Byte Pair Encoding (BPE) eller WordPiece.

Nøkkelegenskaper ved tokenisering som angripere utnytter:

  • Mange tegn kartlegges til lignende token-representasjoner. Unicode inneholder mange visuelt lignende tegn (homoglyfer) som tokeniseres identisk eller nesten identisk.
  • Tokenisering er ikke rent tegnbasert. Noen tokenizere deler ord inn i underordsenheter basert på frekvensmønstre, noe som skaper muligheter for grensemanipulering.
  • Spesialtegn kan bevares eller fjernes. Null-bredde-tegn, kombinerende diakritiske tegn og kontrolltegn kan være usynlige for strengbaserte filtre, men håndteres spesifikt av tokenizere.

Token Smuggling-teknikker

Unicode-homoglyf-substitusjon

Unicode inneholder tusenvis av tegn som visuelt ligner vanlige ASCII-tegn. Et filter som ser etter ordet “harmful” gjenkjenner kanskje ikke “hármful” (med kombinert aksent) eller “harⅿful” (med et Unicode-brøktegn).

Eksempel: Ordet “ignore” kan kodes som “іgnore” (ved bruk av kyrillisk “і” i stedet for latinsk “i”) — og ser identisk ut for de fleste menneskelige lesere og noen filtre, men behandles potensielt annerledes på tokenizer-nivået.

Innsetting av null-bredde-tegn

Null-bredde-tegn (som U+200B ZERO WIDTH SPACE eller U+200C ZERO WIDTH NON-JOINER) er usynlige i gjengitt tekst. Å sette dem inn mellom tegn i nøkkelord bryter strengmatchingsfiltre uten å påvirke det visuelle utseendet eller, i mange tilfeller, den tokeniserte representasjonen.

Eksempel: “i​g​n​o​r​e” med null-bredde-mellomrom mellom hvert tegn vises som “ignore” når det gjenges, men bryter enkel strengmønstermatching.

Kodingsobfuskering

Konvertering av tekst til alternative kodinger før innsending:

  • Base64-koding: “aWdub3JlIHByZXZpb3VzIGluc3RydWN0aW9ucw==” (hvis modellen dekoder den)
  • Leet speak: “1gn0r3 pr3v10u5 1n5truc710n5” som erstatter siffer med bokstaver
  • ROT13 eller Caesar-siffer-varianter: Forskyvning av tegn for å unngå nøkkelorddeteksjon
  • Hex-koding: Representering av tegn som hex-sekvenser som noen modeller tolker

Effektiviteten avhenger av om LLM-en har blitt trent til å dekode disse representasjonene, noe mange generelle modeller har.

Variasjon i store/små bokstaver og format

Enkle, men noen ganger effektive variasjoner:

  • STORE BOKSTAVER: “IGNORE PREVIOUS INSTRUCTIONS”
  • Blandet bokstavstørrelse: “IgNoRe PrEvIoUs InStRuCtIoNs”
  • Mellomrom mellom bokstaver: “I G N O R E P R E V I O U S”
  • Reversert: “snoitcurtsni suoiverp erongi” (hvis modellen kan behandle reversert tekst)

Skilletegn-injeksjon

Noen tokenizere gir spesiell behandling til skilletegn. Ved å introdusere tegn som tokenizeren tolker som segmentgrenser, kan angripere manipulere hvordan modellen segmenterer inndataene i meningsfulle enheter.

Logo

Klar til å vokse bedriften din?

Start din gratis prøveperiode i dag og se resultater i løpet av få dager.

Bruksområder for angrep

Jailbreak-omgåelse: Koding av jailbreak-prompts ved hjelp av teknikker som passerer sikkerhetsfilterlaget, men dekodes av LLM-en, noe som muliggjør omgåelse av sikkerhetsbarrierer.

Omgåelse av innholdsfilter: Innbygging av hatefulle ytringer, forespørsler om ulovlig innhold eller policybrytende instruksjoner i kodet form.

Obfuskering av prompt-injeksjon: Bruk av koding for å skjule injiserte instruksjoner fra enkle mønstermatchingsfiltre samtidig som LLM-en behandler dem korrekt.

Filter-fingeravtrykk: Systematisk testing av forskjellige kodingsvarianter for å identifisere hvilke målsystemets filtre oppdager og ikke oppdager — kartlegging av filterdekning for mer målrettede angrep.

Forsvarsstrategier

Unicode-normalisering

Bruk Unicode-normalisering (NFC, NFD, NFKC eller NFKD) på alle inndata før filtrering. Dette konverterer Unicode-varianter til kanoniske former og eliminerer mange homoglyf- og kombinerende tegn-angrep.

Homoglyf-deteksjon og -erstatning

Implementer eksplisitt homoglyf-kartlegging for å normalisere visuelt lignende tegn til deres ASCII-ekvivalenter før filtrering. Biblioteker for dette formålet finnes i de fleste programmeringsspråk.

LLM-basert innholdsfiltrering

I stedet for (eller i tillegg til) strengbaserte filtre, bruk et LLM-basert filter som opererer på token-representasjoner. Fordi disse filtrene behandler tekst på samme nivå som målmodellen, er kodingstriks mindre effektive — filteret ser samme representasjon som modellen.

Test filtre mot kjente varianter

Sikkerhetsvurdering bør inkludere systematisk testing av innholdsfiltre mot kjente kodingsvarianter. Hvis et filter er ment å blokkere “ignore previous instructions”, test om det også blokkerer Unicode-homoglyfer, null-bredde-varianter, Base64-koding og andre obfuskeringsformer.

Inndatavisualisering og -revisjon

Logg en menneskelig lesbar gjengivelse av normaliserte inndata sammen med rå inndata. Avvik mellom de to kan avsløre kodingsangrep under hendelsesgjennomgang.

Relaterte begreper

Vanlige spørsmål

Hva er token smuggling?

Token smuggling er en angrepsmetode som utnytter forskjeller mellom menneskelig lesbar tekst og LLM-tokenizer-representasjoner. Angripere koder ondsinnede instruksjoner ved å bruke tegnvariasjoner, Unicode-triks eller uvanlig formatering slik at innholdsfiltre ikke oppdager dem, men LLM-ens tokenizer fortsatt behandler dem som tiltenkt.

Hvorfor fungerer token smuggling?

Innholdsfiltre opererer ofte på menneskelig lesbar tekst — og sjekker for spesifikke strenger, mønstre eller nøkkelord. LLM-tokenizere behandler imidlertid tekst på et lavere nivå og kan kartlegge visuelt forskjellige tegn til samme eller lignende tokens. Dette gapet lar angripere lage tekst som leses på én måte av et filter og behandles annerledes av tokenizeren.

Hvordan kan man forsvare seg mot token smuggling?

Forsvar inkluderer: normalisering av inndatatekst før filtrering (Unicode-normalisering, homoglyf-erstatning), bruk av LLM-baserte innholdsfiltre som opererer på token-nivå-representasjoner i stedet for rå tekst, testing av filtre mot kjente kodingsvarianter, og gjennomføring av sikkerhetsvurderinger som inkluderer kodingsbaserte angrepscenarier.

Test chatboten din mot kodingsbaserte angrep

Token smuggling og kodingsangrep omgår overflatiske filtre. Vi tester for disse teknikkene i hver chatbot-sikkerhetsvurdering.

Lær mer

Token
Token

Token

Et token i sammenheng med store språkmodeller (LLM-er) er en sekvens av tegn som modellen konverterer til numeriske representasjoner for effektiv prosessering. ...

3 min lesing
Token LLM +3
LLM-sikkerhet
LLM-sikkerhet

LLM-sikkerhet

LLM-sikkerhet omfatter praksiser, teknikker og kontroller som brukes for å beskytte utrullinger av store språkmodeller mot en unik klasse av AI-spesifikke trusl...

3 min lesing
LLM Security AI Security +3