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

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
Språkgjenkjenning
Språkgjenkjenning

Språkgjenkjenning

Språkgjenkjenning i store språkmodeller (LLM-er) er prosessen der disse modellene identifiserer språket i innteksten, noe som muliggjør nøyaktig behandling for ...

4 min lesing
Language Detection LLMs +4