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

Ce este token smuggling?

Token smuggling este o tehnică de atac care exploatează diferențele dintre textul lizibil pentru oameni și reprezentările tokenizatorului LLM. Atacatorii codifică instrucțiuni malițioase folosind variații de caractere, trucuri Unicode sau formatare neobișnuită, astfel încât filtrele de conținut să nu le detecteze, dar tokenizatorul LLM să le proceseze conform intenției.

De ce funcționează token smuggling?

Filtrele de conținut operează adesea pe text lizibil pentru oameni — verificând șiruri specifice, modele sau cuvinte cheie. Tokenizatoarele LLM, însă, procesează textul la un nivel inferior și pot mapa caractere vizual diferite la aceiași tokeni sau tokeni similari. Acest decalaj permite atacatorilor să creeze text care se citește într-un fel pentru un filtru și este procesat diferit de tokenizator.

Cum poate fi apărat împotriva token smuggling?

Apărările includ: normalizarea textului de intrare înainte de filtrare (normalizare Unicode, înlocuire homoglife), utilizarea filtrelor de conținut bazate pe LLM care operează pe reprezentări la nivel de token în loc de text brut, testarea filtrelor împotriva variantelor de codificare cunoscute și efectuarea evaluărilor de securitate care includ scenarii de atac bazate pe codificare.

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