Token Smuggling

Token smuggling er en klasse af angreb, der retter sig mod kløften mellem tekstbehandlingslag i AI-systemer. Indholdsmoderationsfiltre, inputvalidering og sikkerhedstjek opererer typisk på menneskelæsbar tekst. LLM-tokenizers opererer derimod på et lavere niveau — de konverterer tegn til numeriske token-ID’er. Ved at udnytte forskelle mellem disse lag kan angribere lave input, der passerer tekstniveau-filtre, men leverer ondsindede instruktioner til LLM’en.

Hvordan LLM-Tokenisering Fungerer

Før en LLM behandler tekst, konverterer en tokenizer inputstrengen til en sekvens af heltals-token-ID’er. Disse ID’er mapper til modellens ordforråd — almindeligvis kodet ved hjælp af algoritmer som Byte Pair Encoding (BPE) eller WordPiece.

Nøgleegenskaber ved tokenisering, som angribere udnytter:

  • Mange tegn mapper til lignende token-repræsentationer. Unicode indeholder mange visuelt lignende tegn (homoglyffer), der tokeniseres identisk eller næsten identisk.
  • Tokenisering er ikke rent tegnbaseret. Nogle tokenizers opdeler ord i subord-enheder baseret på frekvensmønstre, hvilket skaber muligheder for grænsemæssig manipulation.
  • Specialtegn kan blive bevaret eller fjernet. Nul-bredde-tegn, kombinerende diakritiske tegn og kontroltegn kan være usynlige for strengbaserede filtre, men håndteres specifikt af tokenizers.

Token Smuggling-Teknikker

Unicode Homoglyf-Substitution

Unicode indeholder tusindvis af tegn, der visuelt ligner almindelige ASCII-tegn. Et filter, der leder efter ordet “harmful”, genkender måske ikke “hármful” (med en kombinerende accent) eller “harⅿful” (med et Unicode-brudtegn).

Eksempel: Ordet “ignore” kan kodes som “іgnore” (ved at bruge kyrillisk “і” i stedet for latinsk “i”) — det ser identisk ud for de fleste menneskelige læsere og nogle filtre, men behandles potentielt anderledes på tokenizer-niveau.

Nul-Bredde-Tegn Indsættelse

Nul-bredde-tegn (som U+200B ZERO WIDTH SPACE eller U+200C ZERO WIDTH NON-JOINER) er usynlige i gengivet tekst. At indsætte dem mellem tegn i nøgleord bryder streng-matchende filtre uden at påvirke det visuelle udseende eller, i mange tilfælde, den tokeniserede repræsentation.

Eksempel: “i​g​n​o​r​e” med nul-bredde-mellemrum mellem hvert tegn vises som “ignore”, når det gengives, men bryder simpel streng-mønstergenkendelse.

Kodnings-Obfuskering

Konvertering af tekst til alternative kodninger før indsendelse:

  • Base64-kodning: “aWdub3JlIHByZXZpb3VzIGluc3RydWN0aW9ucw==” (hvis modellen afkoder den)
  • Leet speak: “1gn0r3 pr3v10u5 1n5truc710n5” erstatning af cifre for bogstaver
  • ROT13 eller Caesar cipher-varianter: Forskydning af tegn for at undgå nøgleordsdetektion
  • Hex-kodning: Repræsentation af tegn som hex-sekvenser, som nogle modeller fortolker

Effektiviteten afhænger af, om LLM’en er blevet trænet til at afkode disse repræsentationer, hvilket mange generelle modeller har.

Variation i Store/Små Bogstaver og Format

Simple, men nogle gange effektive variationer:

  • STORE BOGSTAVER: “IGNORE PREVIOUS INSTRUCTIONS”
  • Blandet bogstavstørrelse: “IgNoRe PrEvIoUs InStRuCtIoNs”
  • Mellemrum mellem bogstaver: “I G N O R E P R E V I O U S”
  • Omvendt: “snoitcurtsni suoiverp erongi” (hvis modellen kan behandle omvendt tekst)

Afgrænser-Injektion

Nogle tokenizers giver særlig behandling til afgrænsertegn. Ved at introducere tegn, som tokenizeren fortolker som segmentgrænser, kan angribere manipulere, hvordan modellen segmenterer inputtet i meningsfulde enheder.

Logo

Klar til at vokse din virksomhed?

Start din gratis prøveperiode i dag og se resultater inden for få dage.

Angrebsanvendelsestilfælde

Jailbreak-omgåelse: Kodning af jailbreak-prompts ved hjælp af teknikker, der passerer sikkerhedsfilterlaget, men afkodes af LLM’en, hvilket muliggør omgåelse af sikkerhedsbarriere.

Indholdsfilter-undvigelse: Indlejring af hadefuld tale, anmodninger om ulovligt indhold eller politikovertrædende instruktioner i kodet form.

Prompt injection-obfuskering: Brug af kodning til at skjule injicerede instruktioner fra simple mønstergenkendelsesfiltre, mens det sikres, at LLM’en behandler dem korrekt.

Filter-fingerprinting: Systematisk testning af forskellige kodningsvariationer for at identificere, hvilke målsystemets filtre opdager og ikke opdager — kortlægning af filterdækning til mere målrettede angreb.

Forsvarsstrategier

Unicode-Normalisering

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

Homoglyf-Detektion og -Erstatning

Implementer eksplicit homoglyf-mapping for at normalisere visuelt lignende tegn til deres ASCII-ækvivalenter før filtrering. Biblioteker til dette formål findes i de fleste programmeringssprog.

LLM-Baseret Indholdsfiltrering

I stedet for (eller ud over) strengbaserede filtre, brug et LLM-baseret filter, der opererer på token-repræsentationer. Fordi disse filtre behandler tekst på samme niveau som målmodellen, er kodningstricks mindre effektive — filteret ser den samme repræsentation som modellen.

Test Filtre Mod Kendte Varianter

Sikkerhedsvurdering bør inkludere systematisk testning af indholdsfiltre mod kendte kodningsvarianter. Hvis et filter skal blokere “ignore previous instructions”, test om det også blokerer Unicode-homoglyffer, nul-bredde-varianter, Base64-kodning og andre obfuskeringsformer.

Input-Visualisering og Revision

Log en menneskelæsbar gengivelse af normaliserede input sammen med det rå input. Uoverensstemmelser mellem de to kan afsløre kodningsangreb under hændelsesgennemgang.

Relaterede Termer

Ofte stillede spørgsmål

Hvad er token smuggling?

Token smuggling er en angrebsteknik, der udnytter forskelle mellem menneskelæsbar tekst og LLM-tokenizer-repræsentationer. Angribere koder ondsindede instruktioner ved hjælp af tegnvariationer, Unicode-tricks eller usædvanlig formatering, så indholdsfiltre ikke opdager dem, men LLM'ens tokenizer stadig behandler dem som tilsigtet.

Hvorfor virker token smuggling?

Indholdsfiltre opererer ofte på menneskelæsbar tekst — de kontrollerer for specifikke strenge, mønstre eller nøgleord. LLM-tokenizers behandler dog tekst på et lavere niveau og kan mappe visuelt forskellige tegn til de samme eller lignende tokens. Denne kløft gør det muligt for angribere at lave tekst, der læses på én måde af et filter og behandles anderledes af tokenizeren.

Hvordan kan man forsvare sig mod token smuggling?

Forsvar inkluderer: normalisering af inputtekst før filtrering (Unicode-normalisering, homoglyf-erstatning), brug af LLM-baserede indholdsfiltre, der opererer på token-niveau-repræsentationer i stedet for rå tekst, testning af filtre mod kendte kodningsvarianter, og udførelse af sikkerhedsvurderinger, der inkluderer kodningsbaserede angrebsscenarier.

Test Din Chatbot Mod Kodningsbaserede Angreb

Token smuggling og kodningsangreb omgår overfladiske filtre. Vi tester for disse teknikker i hver chatbot-sikkerhedsvurdering.

Lær mere

Token
Token

Token

Et token i forbindelse med store sprogmodeller (LLM'er) er en sekvens af tegn, som modellen omdanner til numeriske repræsentationer for effektiv behandling. Tok...

3 min læsning
Token LLM +3
Sprogdetektering
Sprogdetektering

Sprogdetektering

Sprogdtektering i store sprogmodeller (LLM'er) er processen, hvorved disse modeller identificerer sproget i inputteksten, hvilket muliggør nøjagtig behandling t...

4 min læsning
Language Detection LLMs +4
LLM-sikkerhed
LLM-sikkerhed

LLM-sikkerhed

LLM-sikkerhed omfatter de praksisser, teknikker og kontrolforanstaltninger, der bruges til at beskytte implementeringer af store sprogmodeller mod en unik klass...

3 min læsning
LLM Security AI Security +3