aifeed.skAI Feed
AI novinky4 min čítania

PydanticAI ohraničil sťahovanie dát po chybe, ktorá mohla zhodiť agenta

PydanticAI opravil nekontrolované načítavanie vzdialeného obsahu do pamäte v lokálnom web_fetch a typoch FileUrl. Bezpečnostné minimum predstavujú verzie 2.24.0 a 1.107.2, no tímy by mali preveriť aj konfiguráciu limitov, lockfily a ochranu agentov pred nedôveryhodnými URL.

Za text zodpovedá Redakcia AI Feed. Zodpovedný editor: Marek Považský. Ako používame AI.

Typ zdroja
Oficiálny zdroj
Zdroj / autorita
PydanticAI

Ako vznikol tento text

Redakcia spracovala verejné podklady do slovenského kontextu. Za výber, pravidlá kvality a prípadné opravy zodpovedá Marek Považský.

Text je zaradený v sekcii AI novinky a opiera sa o 5 zdrojov. Konkrétne odkazy sú uvedené pod článkom; podrobnosti o AI postupe vysvetľuje metodika redakcie.

Chyba nebola v prístupe k sieti, ale v množstve dát

Bezpečnostné upozornenie GHSA-v2xh-2vp8-57h8 opisuje chybu dostupnosti v PydanticAI, pri ktorej niektoré cesty na sťahovanie vzdialeného obsahu najprv načítali celé telo HTTP odpovede do operačnej pamäte a až potom uplatnili obmedzenie veľkosti. Útočníkom ovládaný server tak mohol posielať veľmi veľkú alebo postupne streamovanú odpoveď, zväčšovať spotrebu pamäte procesu a napokon zhodiť worker agenta. Projekt ohodnotil problém skóre 6,5 podľa CVSS 3.1 a zaradil ho pod CWE-400, teda nekontrolovanú spotrebu obmedzeného zdroja. Dopad sa týka dostupnosti; upozornenie neuvádza narušenie dôvernosti ani integrity.

Zasiahnutý bol lokálny nástroj web_fetch, lokálny záložný mechanizmus schopnosti WebFetch a sťahovanie médií reprezentovaných typmi FileUrl, medzi ktoré patria napríklad ImageUrl, DocumentUrl, VideoUrl a AudioUrl. Pri textovom obsahu síce existovalo skracovanie výsledku, prichádzalo však až po načítaní odpovede do pamäte. Mediálne sťahovanie nemalo porovnateľný limit na úrovni prenášaných dát. Rozhodujúci nedostatok preto nebol v tom, že agent smel otvoriť verejnú adresu, ale v tom, že povolená adresa mohla vrátiť prakticky neohraničený objem obsahu.

To zároveň vysvetľuje, prečo oprava nemení existujúce ochrany proti SSRF. PydanticAI naďalej kontroluje povolené schémy, privátne IP adresy a cloudové metadata endpointy. Aj server na legitímnej verejnej adrese však môže vrátiť odpoveď, ktorá je pre konkrétny proces príliš veľká. Sieťová kontrola cieľa a kontrola spotreby zdrojov teda riešia odlišné riziká a jedna nemôže nahradiť druhú.

Opravené verzie a presný rozsah rizika

Vo vetve 2 sú podľa upozornenia dotknuté vydania od 2.0.0b1 po 2.23.0 vrátane; oprava je dostupná od 2.24.0. Vo vetve 1 ide o verzie od 1.77.0 po vydania staršie než 1.107.2, pričom bezpečnostná oprava prišla vo verzii 1.107.2. Rovnaké hranice platia pre balíky pydantic-ai aj pydantic-ai-slim. Záznamy vydaní na GitHube potvrdzujú, že obe opravené vetvy ohraničili veľkosť HTTP odpovedí pre webový fetch a mediálne URL.

Opravený kód pri streamovaní presadzuje predvolený limit 50 MiB. Dôležité nie je iba samotné číslo, ale miesto kontroly: prenos sa môže zastaviť počas sťahovania, skôr než sa celé telo ocitne v pamäti. Projekt umožňuje limit nastaviť na None, čím sa obnoví pôvodné neobmedzené správanie. Takéto vypnutie ochrany by preto malo byť výnimočné, zdokumentované a kompenzované limitmi na reverznom proxy, egress bráne, kontajneri alebo v samostatnej sťahovacej službe.

PyPI potvrdzuje existenciu vydania pydantic-ai 2.24.0 a zároveň už pri ňom uvádza novšie dostupné vydanie. Praktický záver preto nie je pripnúť produkciu navždy presne na 2.24.0, ale používať aktuálnu kompatibilnú verziu, ktorá obsahuje túto opravu. Čísla 2.24.0 a 1.107.2 predstavujú bezpečnostné minimá pre príslušné hlavné vetvy. Pri aktualizácii treba overiť skutočne nainštalovaný balík v obraze alebo virtuálnom prostredí, nie iba rozsah deklarovaný v súbore projektu.

Prečo sú agentické aplikácie osobitne citlivé

Riziko je najvyššie tam, kde lokálny web_fetch pracuje s nedôveryhodnými promptmi alebo kde používateľ, dokument či webová stránka môže ovplyvniť URL média. Jazykový model nemusí dostať škodlivú adresu iba priamo od používateľa. Môže ju prevziať aj z obsahu spracovaného počas predchádzajúceho kroku, čo vytvára priestor pre nepriamu prompt injection. Aplikácie, ktoré načítavajú výhradne pevné adresy pod kontrolou vývojára, nie sú podľa upozornenia vystavené modelom zvolenej útočnej ceste, stále však môžu potrebovať ochranu pred chybným alebo nečakane veľkým obsahom.

Incident ukazuje širší rozdiel medzi tradičnou knižnicou a agentom. V bežnej aplikácii rozhoduje o sieťovej požiadavke explicitná vetva programu. Pri agentovi môže cieľ aj načasovanie nástroja navrhnúť pravdepodobnostný model na základe nedôveryhodného kontextu. Bezpečnostná hranica preto musí byť v samotnom vykonávacom prostredí: v politike povolených domén, maximálnej veľkosti odpovede, časovom limite, počte presmerovaní, súbežnosti a pamäťovej kvóte. Spoliehať sa na to, že model „rozpozná“ podozrivú URL, nie je spoľahlivá kontrola.

MITRE pri CWE-400 uvádza medzi typickými následkami pád, reštart alebo spomalenie služby v dôsledku spotreby pamäte, CPU či iného zdroja. Odporúča zavádzať limity rozsahu protokolov a mechanizmy obmedzovania už pri návrhu systému. Pre AI službu to znamená vrstvenú obranu: limit v knižnici, menší aplikačný limit podľa podporovaných dokumentov, pamäťový strop kontajnera, obmedzenie počtu paralelných sťahovaní a kontrolované spracovanie chyby. Inak môže jediná požiadavka zabiť proces alebo vyvolať opakované reštarty, ktoré zhoršia dostupnosť celej služby.

Kontrolný postup pre slovenské a európske tímy

Prevádzkovateľ by mal najprv zistiť reálnu verziu oboch balíkov vo všetkých nasadeniach vrátane workerov, dávkových úloh a starších kontajnerových obrazov. Nasleduje aktualizácia na aktuálne kompatibilné vydanie nad bezpečnostným minimom a opätovné vytvorenie lockfilu či obrazu. Regresný test má použiť kontrolovaný server s odpoveďou väčšou než nastavený limit a potvrdiť, že sťahovanie skončí pred prudkým rastom pamäte. Testovať treba textové aj mediálne cesty, lokálny fallback a správanie po odmietnutí obsahu, aby agent neprechádzal do nekonečného cyklu opakovaných pokusov.

Pre slovenské organizácie je relevantný aj európsky regulačný kontext. Akt o kybernetickej odolnosti, teda Cyber Resilience Act, vstúpil do platnosti v decembri 2024. Európska komisia uvádza, že hlavné povinnosti sa začnú uplatňovať 11. decembra 2027 a oznamovacie povinnosti od 11. septembra 2026. Nariadenie rozlišuje postavenie výrobcov, komerčných distribútorov a účastníkov open-source ekosystému, preto nemožno automaticky tvrdiť, že každý používateľ PydanticAI má rovnaké zákonné povinnosti. Pre firmy uvádzajúce digitálny produkt na trh EÚ je však evidencia závislostí, proces prijímania opráv a zdokumentované riadenie zraniteľností čoraz dôležitejšou súčasťou životného cyklu produktu.

Otvorenou neistotou zostáva skutočná miera vystavenia jednotlivých nasadení. Verejné upozornenie neuvádza CVE a neposkytuje merania útokov v reálnej prevádzke. CVSS skóre opisuje technické vlastnosti zraniteľnosti, nie pravdepodobnosť konkrétneho incidentu v každej aplikácii. Päťdesiatmebibajtový limit navyše nemusí byť vhodný pre všetky pracovné postupy: pre textového asistenta môže byť zbytočne vysoký, pri spracovaní videa zase nízky. Tímy by ho mali odvodiť od podporovaných formátov a pamäťového rozpočtu, nikdy však bez ďalšej ochrany jednoducho vypnúť.

Zdroje

Súvisiace čítanie

Ďalšie články k téme

Viac z kategórie