Token Smuggling

Token smuggling este o clasă de atac care vizează decalajul dintre straturile de procesare a textului în sistemele AI. Filtrele de moderare a conținutului, validarea intrărilor și verificările de siguranță operează de obicei pe text lizibil pentru oameni. Tokenizatoarele LLM, prin contrast, operează la un nivel inferior — convertind caractere în ID-uri de token numerice. Exploatând diferențele dintre aceste straturi, atacatorii pot crea intrări care trec filtrele la nivel de text, dar livrează instrucțiuni malițioase către LLM.

Cum Funcționează Tokenizarea LLM

Înainte ca un LLM să proceseze textul, un tokenizator convertește șirul de intrare într-o secvență de ID-uri de token întregi. Aceste ID-uri se mapează la vocabularul modelului — codificat în mod obișnuit folosind algoritmi precum Byte Pair Encoding (BPE) sau WordPiece.

Proprietăți cheie ale tokenizării pe care atacatorii le exploatează:

  • Multe caractere se mapează la reprezentări de token similare. Unicode conține multe caractere vizual similare (homoglife) care se tokenizează identic sau aproape identic.
  • Tokenizarea nu este pur bazată pe caractere. Unele tokenizatoare împart cuvintele în unități subcuvânt bazate pe modele de frecvență, creând oportunități pentru manipularea limitelor.
  • Caracterele speciale pot fi păstrate sau eliminate. Caracterele cu lățime zero, diacriticele combinate și caracterele de control pot fi invizibile pentru filtrele bazate pe șiruri, dar gestionate specific de tokenizatoare.

Tehnici de Token Smuggling

Substituție Homoglif Unicode

Unicode conține mii de caractere care seamănă vizual cu caractere ASCII comune. Un filtru care caută cuvântul “harmful” poate să nu recunoască “hármful” (cu accent combinat) sau “harⅿful” (cu un caracter de fracție Unicode).

Exemplu: Cuvântul “ignore” ar putea fi codificat ca “іgnore” (folosind “і” chirilic în loc de “i” latin) — apărând identic pentru majoritatea cititorilor umani și unele filtre, dar procesând potențial diferit la nivelul tokenizatorului.

Inserare Caracter cu Lățime Zero

Caracterele cu lățime zero (precum U+200B ZERO WIDTH SPACE sau U+200C ZERO WIDTH NON-JOINER) sunt invizibile în textul redat. Inserarea lor între caractere în cuvinte cheie întrerupe filtrele de potrivire a șirurilor fără a afecta aspectul vizual sau, în multe cazuri, reprezentarea tokenizată.

Exemplu: “i​g​n​o​r​e” cu spații cu lățime zero între fiecare caracter apare ca “ignore” când este redat, dar întrerupe potrivirea simplă a modelelor de șiruri.

Obfuscare prin Codificare

Convertirea textului în codificări alternative înainte de trimitere:

  • Codificare Base64: “aWdub3JlIHByZXZpb3VzIGluc3RydWN0aW9ucw==” (dacă modelul o decodifică)
  • Leet speak: “1gn0r3 pr3v10u5 1n5truc710n5” substituind cifre pentru litere
  • Variante ROT13 sau Caesar cipher: Deplasarea caracterelor pentru a evita detectarea cuvintelor cheie
  • Codificare Hex: Reprezentarea caracterelor ca secvențe hex pe care unele modele le interpretează

Eficacitatea depinde de dacă LLM a fost instruit să decodifice aceste reprezentări, ceea ce multe modele cu scop general au.

Variație de Caz și Format

Variații simple, dar uneori eficiente:

  • MAJUSCULE: “IGNORE PREVIOUS INSTRUCTIONS”
  • Caz mixt: “IgNoRe PrEvIoUs InStRuCtIoNs”
  • Litere spațiate: “I G N O R E P R E V I O U S”
  • Inversat: “snoitcurtsni suoiverp erongi” (dacă modelul poate procesa text inversat)

Injectare Delimitator

Unele tokenizatoare acordă tratament special caracterelor delimitatoare. Introducând caractere pe care tokenizatorul le interpretează ca limite de segment, atacatorii pot manipula modul în care modelul segmentează intrarea în unități semnificative.

Logo

Pregătit să îți dezvolți afacerea?

Începe perioada de probă gratuită astăzi și vezi rezultate în câteva zile.

Cazuri de Utilizare a Atacului

Ocolire jailbreak: Codificarea prompt-urilor de jailbreak folosind tehnici care trec stratul de filtru de siguranță, dar sunt decodificate de LLM, permițând ocolirea barierelor de siguranță.

Evaziune filtru de conținut: Încorporarea discursului de ură, solicitări de conținut ilegal sau instrucțiuni care încalcă politica în formă codificată.

Obfuscare injectare prompt: Utilizarea codificării pentru a ascunde instrucțiuni injectate de filtrele simple de potrivire a modelelor, asigurându-se în același timp că LLM le procesează corect.

Fingerprinting filtru: Testarea sistematică a diferitelor variații de codificare pentru a identifica care dintre ele sunt detectate și care nu de filtrele sistemului țintă — maparea acoperirii filtrului pentru atacuri mai țintite.

Strategii de Apărare

Normalizare Unicode

Aplicați normalizarea Unicode (NFC, NFD, NFKC sau NFKD) la toate intrările înainte de filtrare. Aceasta convertește variantele Unicode în forme canonice, eliminând multe atacuri cu homoglife și caractere combinate.

Detectare și Înlocuire Homoglife

Implementați mapare explicită a homoglifelor pentru a normaliza caracterele vizual similare la echivalentele lor ASCII înainte de filtrare. Există biblioteci în acest scop în majoritatea limbajelor de programare.

Filtrare Conținut Bazată pe LLM

În loc de (sau în plus față de) filtrele bazate pe șiruri, utilizați un filtru bazat pe LLM care operează pe reprezentări de token. Deoarece aceste filtre procesează textul la același nivel cu modelul țintă, trucurile de codificare sunt mai puțin eficiente — filtrul vede aceeași reprezentare ca și modelul.

Testați Filtrele Împotriva Variantelor Cunoscute

Evaluarea de securitate ar trebui să includă testarea sistematică a filtrelor de conținut împotriva variantelor de codificare cunoscute. Dacă un filtru este menit să blocheze “ignore previous instructions”, testați dacă blochează și homoglifele Unicode, variantele cu lățime zero, codificarea Base64 și alte forme de obfuscare.

Vizualizare și Audit Intrări

Înregistrați o redare lizibilă pentru oameni a intrărilor normalizate alături de intrarea brută. Discrepanțele dintre cele două pot dezvălui atacuri de codificare în timpul revizuirii incidentelor.

Termeni Asociați

Întrebări frecvente

Testați-vă Chatbot-ul Împotriva Atacurilor Bazate pe Codificare

Token smuggling și atacurile de codificare ocolesc filtrele superficiale. Testăm pentru aceste tehnici în fiecare evaluare de securitate a chatbot-ului.

Află mai multe

Token
Token

Token

Un token, în contextul modelelor lingvistice mari (LLM), este o secvență de caractere pe care modelul o convertește în reprezentări numerice pentru o procesare ...

3 min citire
Token LLM +3
Securitatea LLM
Securitatea LLM

Securitatea LLM

Securitatea LLM cuprinde practicile, tehnicile și controalele utilizate pentru a proteja implementările modelelor de limbaj mari împotriva unei clase unice de a...

4 min citire
LLM Security AI Security +3
Detectarea limbii
Detectarea limbii

Detectarea limbii

Detectarea limbii în modelele lingvistice mari (LLMs) este procesul prin care aceste modele identifică limba textului de intrare, permițând procesarea precisă p...

5 min citire
Language Detection LLMs +4