PydanticAI 2.9 upozorňuje na opravenú chybu v UI adaptéroch pre agentov
Nové vydanie PydanticAI 2.9.0 prináša menšie funkcie, ale hlavne zverejnenie bezpečnostného upozornenia k sanitizácii histórie správ v UI adaptéroch.
Pripravil HERMES. Výber tém pomáha robiť BuloSentinel. Redakčná kontrola: Marek Považský.
- Typ zdroja
- Kurátorovaný súhrn
- Zdroj / autorita
- PydanticAI GitHub Releases
Redakčný kontext
Tému vybral BuloSentinel ako súčasť monitorovania AI ekosystému. Text pripravil HERMES zo zdrojovo ukotvených podkladov a zodpovednú kontrolu pravidiel robí Marek Považský.
Článok je zaradený v sekcii AI novinky a opiera sa o 3 zdroje.
PydanticAI vydal verziu 2.9.0 a spolu s ňou jasnejšie pomenoval bezpečnostný problém, ktorý sa týka UI adaptérov pre agentické aplikácie. Samotná oprava bola podľa vydania zahrnutá už vo vetve 2.5.0 a spätne prenesená do vetvy 1.107.1, no teraz je verejne zdokumentovaná ako advisory GHSA-jpr8-2v3g-wgf9. Pre tímy, ktoré vystavujú agentov cez AG-UI alebo Vercel AI adaptér, je dôležitejšia než bežný zoznam opráv, pretože sa dotýka hranice medzi históriou správ od klienta a spúšťaním nástrojov na serveri.
Jadro problému je technické, ale praktický zmysel je jednoduchý. UI adaptéry sanitizujú históriu správ, ktorú pošle klient, aby sa do agenta nedostali neplatné alebo nebezpečné zvyšky konverzácie. Jedným z pravidiel je odstraňovanie nedokončených volaní nástrojov, teda situácií, kde správa tvrdí, že má existovať tool call, ktorý model v skutočnosti nedokončil. Chyba spočívala v tom, že kontrola sa viazala na pozíciu správy pred sanitizáciou. Ak sa posledná klientská správa počas sanitizácie zahodila, predchádzajúce nedoriešené volanie nástroja sa mohlo opäť dostať na koniec histórie.
Podľa bezpečnostného upozornenia to neznamenalo, že by framework zrazu obchádzal schémy argumentov. Argumenty nástrojov stále prechádzali validáciou podľa definovanej schémy a nástroje s vyžadovaným schválením zostávali chránené schvaľovacím krokom. Riziko bolo užšie: aplikácia, ktorá sa spoliehala na kontrolu pred alebo po modelovom volaní, mohla pri takto vloženom volaní prísť o túto vrstvu dohľadu, pretože nástroj sa mohol spustiť bez nového modelového kroku.
To je užitočná pripomienka pre celý ekosystém agentických frameworkov. Bezpečnosť nástrojov by nemala stáť iba na tom, že model „správne“ vyprodukuje volanie alebo že jedna fáza spracovania histórie zachytí všetky okraje. Citlivé nástroje majú mať vlastnú autorizáciu v handleri, prípadne režim vyžadujúci ľudské alebo programové schválenie. Ak aplikácia kontroluje oprávnenia len v hooku okolo modelovej požiadavky, vzniká slepé miesto pri všetkých cestách, ktoré k nástroju prídu iným spôsobom.
Verzia 2.9.0 zároveň pridáva niekoľko menších vývojárskych zmien. Release notes spomínajú príkaz /usage v CLI clai na súhrnné sledovanie tokenovej spotreby, podporu modelov GPT-5.6 a režimu reasoning pre OpenAI integráciu, ako aj sprístupnenie usage_limits v RunContext pre nástroje a capabilities. Ide o postupné zlepšenia ergonomiky, nie o veľký prepis API, no zapadajú do smeru, v ktorom PydanticAI tlačí agentov bližšie k produkčnému vývoju s meraním, typmi a opakovateľnou konfiguráciou.
Opravná časť vydania je tiež rozsiahla. Zmienky zahŕňajú automatické zapnutie beta režimu Anthropic Files API pri správach s nahranými súbormi, opravu pádu repr() pri neštandardnom porovnávaní častí správ, FIPS opatrnosť pri ne-kryptografických hash funkciách, ochranu okraja pri MCPToolset bez id v DBOSAgent wrapperi a opravy okolo zachytávania správ či rušenia bežiacich požiadaviek. Tieto položky ukazujú, že framework už rieši problémy, ktoré sa objavujú až pri dlhšie bežiacich a prepojených agentoch.
Pre používateľov je odporúčanie relatívne priamočiare: ak aplikácia vystavuje PydanticAI agenta cez UI adaptér, treba byť aspoň na verzii 2.5.0 alebo novšej, prípadne na opravenej vetve 1.107.1. Ešte dôležitejšie je skontrolovať, kde sú umiestnené bezpečnostné pravidlá pre nástroje. Guardrail, ktorý musí platiť vždy, patrí pred spustenie nástroja alebo priamo do jeho obsluhy, nie iba pred volanie modelu.
Pre trh s agentickými nástrojmi je táto epizóda dôležitá aj bez dramatického incidentu. Ukazuje, že čoraz viac rizík vzniká v lepidle medzi modelom, UI protokolom, históriou správ a nástrojmi. Agentické aplikácie nie sú len prompt a odpoveď; sú to stavové systémy, ktoré obnovujú konverzácie, streamujú udalosti a spúšťajú kód či externé API. Malá chyba v poradí sanitizácie môže mať bezpečnostný význam, pretože práve cez tieto okraje preteká dôvera medzi klientom a serverom.
Zdroje