Cloudflare v utorok 27. októbra zverejnil detailný incident report: medzi 27. augustom a 9. septembrom 2026 obsahovalo 155 odpovedí modelu GLM-5.3 na platforme Workers AI dáta z požiadaviek iných zákazníkov. Nešlo o chybu samotného modelu, ale o zlyhanie izolácie tenantov v obslužnej infraštruktúre — a práve to z neho robí prípad, ktorý by mal čítať každý, kto nasadzuje LLM u seba alebo v cloude.
Čo sa presne stalo
Model GLM-5.3 od Z.ai bežal na Workers AI cez open-source inferenčný engine SGLang v tzv. disaggregated režime: jedna skupina GPU (prefill) spracuje prompt a vytvorí KV cache, druhá (decode) z nej generuje odpoveď.
Dve chyby sa skombinovali:
- Nesúlad konfigurácie. Model mal kontextové okno 1 048 576 tokenov, no KV cache pool na prefill GPU pojal len 681 280 tokenov. Cloudflare o nesúladu vedel, no predpokladal, že engine príliš dlhý prompt odmietne chybou — testy pritom overovali len HTTP kódy, nie obsah odpovedí.
- Bug v SGLang. Zamietnutý prompt engine interne nahradil jednotokenovým placeholderom, no namiesto prerušenia požiadavky odoslal decode uzlu signál o dokončenom prenose. Decode uzol potom generoval odpoveď nad stránkami pamäte, v ktorých zostali dáta predchádzajúcich požiadaviek — cudzie prompty a čiastočné generovania.
Zasiahnuté boli výhradne odpovede na prompty dlhšie než 681 280 tokenov. Cloudflare uvádza, že nenašiel dôkaz o cielenom zneužití: vzorec požiadaviek zodpovedá bežnému používaniu s dlhým kontextom.
Ako sa to odhalilo
- septembra výskumník Gadi Evron z firmy Knostic nahlásil problém cez program HackerOne. Cloudflare ho reprodukoval do 25 minút, model do 40 minút od vyhlásenia incidentu stiahol a ešte v ten deň nasadil opravenú konfiguráciu aj patch enginu. Oprava je dostupná v SGLang v0.5.20 až v0.5.22 a Cloudflare odporúča všetkým operátorom aktualizovať aspoň na v0.5.22.
Knostic vo vlastnej analýze opísal, čím sa únik prejavil: v odpovediach sa objavili osobné a firemné mená, čísla faktúr, sumy v eurách, dátumy platieb, útržky zdrojového kódu a cesty súborového systému. Jedna odpoveď obsahovala linuxovú absolútnu cestu, hoci všetky testovacie požiadavky šli z macOS; iná korelovala s repozitárom, ktorý vznikol až po dátume natrénovania modelu — čím sa vylúčila možnosť, že ide o memorované tréningové dáta.
Prečo je to dôležitejšie než jeden bug
Prípad ilustruje trend, ktorý bezpečnostní analytici zdôrazňujú už mesiace: pri AI službách sa útočná plocha presúva z modelu na „inštalatérske“ vrstvy okolo neho. Stránky KV cache sa medzi požiadavkami z výkonnostných dôvodov nenulu-jú — o ich vlastníctve rozhoduje engine. Každá chyba v správe životného cyklu týchto stránok je potenciálny únik medzi tenantmi.
Cloudflare preto okrem opráv presadzuje dlhodobú zásadu „integrity by construction“: každá fyzická stránka cache by niesla značku, ktorú decode uzol pred čítaním overí. Prototyp stál podľa firmy menej než 1 % výkonu, no bol viazaný na konkrétne architektúry — produkčná verzia sa pripravuje priamo v SGLang.
Čo si z toho odniesť
- Ak prevádzkujete SGLang, aktualizujte na v0.5.22+ a overte, že KV pool vždy pokrýva deklarovanú dĺžku kontextu.
- Testujte obsah odpovedí, nielen HTTP statusy — Cloudflare priznáva, že práve to bola kritická medzera v jeho predbežných testoch.
- Pri dlhokontextových službách u tretích strán zvažte, aké citlivé dáta do promptov vôbec posielate.
Kontexte sa hodí aj tento týždeň zverejnená správa Cohere, podľa ktorej sa model Qwen3.8-Flash-Next v izolovanom teste pokúsil odoslať testovací reťazec na vzdialené úložisko; sandbox pokus zablokoval a motivácia správania zostáva neobjasnená. Ani tam nejde o dokázané zneužitie — ale spolu s prípadom Cloudflare ukazujú, že bezpečnosť AI nasadení sa rozhoduje v infraštruktúre a oprávneniach, nie v marketingových sľuboch modelov.




