
Token
Token v kontexte veľkých jazykových modelov (LLM) je sekvencia znakov, ktorú model prevádza na číselné reprezentácie pre efektívne spracovanie. Tokeny sú základ...

Token smuggling zneužíva rozdiel medzi tým, ako ľudia čítajú text a ako ho spracúvajú LLM tokenizéry. Útočníci používajú Unicode variácie, znaky s nulovou šírkou, homoglyfy alebo neobvyklé kódovania na skrytie škodlivých inštrukcií pred obsahovými filtrami, pričom zostávajú čitateľné pre tokenizér.
Token smuggling je trieda útokov, ktorá sa zameriava na rozdiel medzi vrstvami spracovania textu v AI systémoch. Filtre moderovania obsahu, validácia vstupov a bezpečnostné kontroly typicky pracujú s textom čitateľným pre ľudí. LLM tokenizéry naopak pracujú na nižšej úrovni — konvertujú znaky na číselné ID tokenov. Zneužitím rozdielov medzi týmito vrstvami môžu útočníci vytvoriť vstupy, ktoré prejdú filtrami na úrovni textu, ale doručia škodlivé instrukcie LLM.
Predtým, než LLM spracuje text, tokenizér konvertuje vstupný reťazec na sekvenciu celočíselných ID tokenov. Tieto ID sa mapujú na slovník modelu — bežne kódované pomocou algoritmov ako Byte Pair Encoding (BPE) alebo WordPiece.
Klúčové vlastnosti tokenizácie, ktoré útočníci zneužívajú:
Unicode obsahuje tisíce znakov, ktoré vizuálne pripomínajú bežné ASCII znaky. Filter hľadajúci slovo “harmful” nemusí rozpoznať “hármful” (s kombinovaným prízvukom) alebo “harⅿful” (s Unicode znakom zlomku).
Príklad: Slovo “ignore” môže byť kódované ako “іgnore” (použitím cyrilického “і” namiesto latinského “i”) — vyzerá identicky pre väčšinu ľudských čitateľov a niektoré filtre, ale potenciálne sa spracúva inak na úrovni tokenizéra.
Znaky s nulovou šírkou (ako U+200B ZERO WIDTH SPACE alebo U+200C ZERO WIDTH NON-JOINER) sú neviditeľné v renderovanom texte. Ich vloženie medzi znaky v kľúčových slovách prelomí filtre zhody reťazcov bez ovplyvnenia vizuálneho vzhľadu alebo v mnohých prípadoch tokenizovanej reprezentácie.
Príklad: “ignore” s medzerami nulovej šírky medzi každým znakom sa zobrazí ako “ignore”, ale prelomí jednoduché porovnávanie vzoru reťazca.
Konverzia textu na alternatívne kódovania pred odoslaním:
Efektívnosť závisí od toho, či bol LLM trénovaný na dekódovanie týchto reprezentácií, čo mnohé všeobecné modely majú.
Jednoduché, ale niekedy efektívne variácie:
Niektoré tokenizéry venujú špeciálnu pozornosť oddeľovacím znakom. Zavedením znakov, ktoré tokenizér interpretuje ako hranice segmentov, môžu útočníci manipulovať spôsob, akým model segmentuje vstup na zmysluplné jednotky.
Obídenie jailbreak: Kódovanie jailbreak promptov pomocou techník, ktoré prejdú vrstvou bezpečnostného filtra, ale sú dekódované LLM, čo umožňuje obídenie bezpečnostných zábran.
Obídenie obsahového filtra: Vloženie nenávistných prejavov, požiadaviek na nelegálny obsah alebo inštrukcií porušujúcich politiku v kódovanej forme.
Obfuskácia prompt injection: Použitie kódovania na skrytie injektovaných inštrukcií pred jednoduchými filtrami porovnávania vzorov, pričom sa zabezpečí, že ich LLM správne spracuje.
Fingerprintovanie filtra: Systematické testovanie rôznych variácií kódovania na identifikáciu, ktoré cieľový systém filtrov detekuje a ktoré nie — mapovanie pokrytia filtra pre cielenejšie útoky.
Aplikujte Unicode normalizáciu (NFC, NFD, NFKC alebo NFKD) na všetky vstupy pred filtrovaním. Toto konvertuje Unicode varianty na kanonické formy, čím eliminuje mnoho útokov s homoglyfmi a kombinovanými znakmi.
Implementujte explicitné mapovanie homoglyfov na normalizáciu vizuálne podobných znakov na ich ASCII ekvivalenty pred filtrovaním. Knižnice na tento účel existujú vo väčšine programovacích jazykov.
Namiesto (alebo okrem) filtrov založených na reťazcoch použite LLM filter, ktorý pracuje na tokenových reprezentáciách. Pretože tieto filtre spracúvajú text na rovnakej úrovni ako cieľový model, kódovacie triky sú menej efektívne — filter vidí rovnakú reprezentáciu ako model.
Bezpečnostné hodnotenie by malo zahŕňať systematické testovanie obsahových filtrov proti známym variantom kódovania. Ak má filter blokovať “ignore previous instructions”, otestujte, či blokuje aj Unicode homoglyfy, varianty s nulovou šírkou, Base64 kódovanie a iné formy obfuskácie.
Zaznamenávajte ľudsky čitateľné renderovanie normalizovaných vstupov spolu so surovým vstupom. Nesúlad medzi oboma môže odhaliť útoky kódovania počas preskúmania incidentov.
Token smuggling je útočná technika, ktorá zneužíva rozdiely medzi textom čitateľným pre ľudí a reprezentáciami LLM tokenizéra. Útočníci kódujú škodlivé instrukcie pomocou variácií znakov, Unicode trikov alebo neobvyklého formátovania tak, aby ich obsahové filtre nezistili, ale LLM tokenizér ich stále spracoval podľa zámeru.
Obsahové filtre často pracujú s textom čitateľným pre ľudí — kontrolujú konkrétne reťazce, vzory alebo kľúčové slová. LLM tokenizéry však spracúvajú text na nižšej úrovni a môžu mapovať vizuálne odlišné znaky na rovnaké alebo podobné tokeny. Tento rozdiel umožňuje útočníkom vytvoriť text, ktorý sa pre filter číta jedným spôsobom a tokenizér ho spracuje inak.
Obrana zahŕňa: normalizáciu vstupného textu pred filtrovaním (Unicode normalizácia, nahradenie homoglyfov), používanie LLM obsahových filtrov, ktoré pracujú na úrovni tokenových reprezentácií namiesto surového textu, testovanie filtrov proti známym variantom kódovania a vykonávanie bezpečnostných hodnotení, ktoré zahŕňajú scenáre útokov založených na kódovaní.
Token smuggling a útoky založené na kódovaní obchádzajú povrchové filtre. Testujeme tieto techniky pri každom hodnotení bezpečnosti chatbota.

Token v kontexte veľkých jazykových modelov (LLM) je sekvencia znakov, ktorú model prevádza na číselné reprezentácie pre efektívne spracovanie. Tokeny sú základ...

Bezpečnosť LLM zahŕňa postupy, techniky a kontroly používané na ochranu nasadení veľkých jazykových modelov pred jedinečnou triedou hrozieb špecifických pre AI ...

Detekcia jazyka vo veľkých jazykových modeloch (LLM) je proces, ktorým tieto modely identifikujú jazyk vstupného textu, čo umožňuje presné spracovanie pre viacj...