Problémy kvůli zprávám o zranitelnosti připravených nástroji AI

Daniel Stenberg, autor nástroje pro příjem a odesílání dat přes síť curl, kritizoval použití nástrojů AI při vytváření zpráv o zranitelnosti. Takové zprávy obsahují podrobné informace, jsou psány normálním jazykem a vypadají kvalitně, ale bez promyšlené analýzy ve skutečnosti mohou být pouze zavádějící a nahrazovat skutečné problémy kvalitně vypadajícím odpadem.

Projekt Curl vyplácí odměny za identifikaci nových zranitelností a obdržel již 415 zpráv o potenciálních problémech, z nichž pouze 64 bylo potvrzeno jako zranitelnost a 77 jako chyby nesouvisející se zabezpečením. 66 % všech zpráv tedy neobsahovalo žádné užitečné informace a pouze ubíralo vývojářům čas, který mohl věnovat něčemu užitečnému.

Vývojáři jsou nuceni ztrácet spoustu času rozebíráním zbytečných zpráv a opakovanou kontrolou informací v nich obsažených, protože vnější kvalita návrhu vytváří další důvěru v informace a existuje pocit, že vývojář něco nepochopil. Na druhou stranu vygenerování takové zprávy vyžaduje minimální úsilí od žadatele, který se neobtěžuje zjišťovat skutečný problém, ale pouze slepě kopíruje data obdržená od asistentů AI v naději na štěstí v boji o odměnu.

Jsou uvedeny dva příklady takových zpráv o odpadcích. Den před plánovaným zveřejněním informací o nebezpečné říjnové zranitelnosti (CVE-2023-38545) byla přes Hackerone odeslána zpráva, že se patch s opravou stal veřejně dostupným. Ve skutečnosti zpráva obsahovala směs faktů o podobných problémech a úryvky podrobných informací o minulých zranitelnostech, které sestavil asistent AI společnosti Google Bard. V důsledku toho informace vypadaly nově a relevantně a neměly žádnou souvislost s realitou.

Druhý příklad se týká zprávy přijaté 28. prosince o přetečení vyrovnávací paměti v obslužné rutině WebSocket odeslané uživatelem, který již prostřednictvím Hackerone informoval různé projekty o zranitelnosti. Jako metodu reprodukování problému zpráva obsahovala obecná slova o předání upraveného požadavku s hodnotou větší, než je velikost vyrovnávací paměti použité při kopírování pomocí strcpy. Zpráva rovněž poskytla příklad opravy (příklad nahrazení strcpy za strncpy) a uvedla odkaz na řádek kódu „strcpy(keyval, randstr)“, který podle žalobce obsahoval chybu.

Vývojář vše třikrát dvakrát zkontroloval a nenašel žádné problémy, ale vzhledem k tomu, že zpráva byla napsána sebevědomě a dokonce obsahovala opravu, bylo cítit, že někde něco chybí. Pokus objasnit, jak se výzkumníkovi podařilo obejít explicitní kontrolu velikosti přítomnou před voláním strcpy a jak se ukázalo, že velikost vyrovnávací paměti keyval byla menší než velikost načtených dat, vedl k podrobným, ale neobsahujícím další informace, vysvětlení který pouze žvýkal zjevné běžné příčiny přetečení vyrovnávací paměti, které nesouvisí s konkrétním Curl kódem. Odpovědi připomínaly komunikaci s asistentem umělé inteligence a poté, co strávil půl dne nesmyslnými pokusy zjistit, jak přesně se problém projevuje, se nakonec vývojář přesvědčil, že ve skutečnosti o žádnou zranitelnost nejde.

Zdroj: opennet.ru

Přidat komentář