Az Anthropic bejelentette a Claude Opus 4.6 AI modelljének kibővítését, amely a kódban lévő sebezhetőségek keresésére irányuló lehetőségeket tartalmaz, és megosztotta azokat az eredményeket, amelyeket egy kísérlet során nyertek, amelyben több mint 500 eddig ismeretlen (0-day) sebezhetőséget tártak fel különböző nyílt forráskódú projektek legfrissebb verzióiban. A munka a memóriakezelési problémákkal összefüggő sebezhetőségek felkutatására összpontosított, mivel ezek létezését egyszerűbben ellenőrizni lehet. Minden feltárt sebezhetőség magas veszélyességi szintet kapott. Minden sebezhetőséget manuálisan ellenőriztek és megerősítettek az Anthropic munkatársai vagy a bevont külső biztonsági kutatók.
A sebezhetőségek elemzéséhez népszerű nyílt forráskódú projektek kódalapjait vonták be, amelyek már hosszú ideje folyamatos fuzzing-tesztelésen mennek keresztül az OSS-Fuzz szolgáltatásban. A fuzzing-teszteléssel ellentétben, ahol véletlenszerű bemeneti adatok kombinációinak áramlását generálják, az AI-modell próbálta a kódot elemezni, figyelembe véve a korábbi javításokat a hasonló megoldatlan hibák azonosításához, kiemelve a problémás mintákat és logikailag levonva, hogy mely bemeneti adatok zavarhatják meg a végrehajtást.
A kísérlet során feltárt sebezhetőségekre vonatkozó információkat már megkezdték az érintetteknek átadni, akikkel közös munkát folytatnak a javítások elfogadásában. Az érintettek számára, a végzett ellenőrzés során, manuálisan kifejlesztették a feltárt problémák javítására szolgáló javítócsomagokat. Példaként három sebezhetőséget említenek a GhostScript, OpenSC és CGIF projekteknél, amelyeket az érintettek a közzététel időpontjában már orvosoltak.
A problémák feltárására használt konfiguráció nem hasonlított a hagyományos automatikus sebezhetőség-kereső rendszerekhez — a Claude Opus 4.6 modell számára hozzáférést biztosítottak a virtuális gépben, amelyben az elemzett kód mellett alapvető fejlesztői eszközök (coreutils, Python stb.) és sebezhetőségek hibakeresésére és elemzésére szolgáló segédprogramok (beleértve a fuzzing-teszteléshez szükséges segédprogramokat) voltak telepítve. A modell nem kapott egyértelmű utasítást az eszközök használatára, és nem biztosítottak speciális információkat a sebezhetőségek keresésének módszereiről. A modell számára csak annyi feladatot szabtak, hogy lehetőséget biztosítsanak az elérhető eszközök optimális használatára vonatkozó gondolkodásra.
A sebezőségek keresése során a GhostScript AI-modell először fuzzing tesztelést próbált végezni, de mivel ez nem vezetett eredményre, a kód elemzésére váltott. A kódelemzés sem hozott eredményt, így a modell a git változástörténetét kezdte el tanulmányozni, és egy commitban észrevett egy hibaellenőrzési határt. A commitot elemezve a modell megállapította, hogy a javítás a fontok feldolgozásakor egy hiányzó hibaellenőrzést adott hozzá a határokhoz.
Ezután a modell azonosította a javítás előtti kódot, és megpróbálta megtalálni a problémás funkciók használatára vonatkozó hasonló mintákat a fennmaradó kódban, amelyek még nem javításra kerültek. Végül a gdevpsfx.c fájlban felfedezte a gs_type1_blend funkció hívását, amely nem ellenőrizte az értékek helyességét. A modell végül kiválasztotta a fájl tartalmát, amelynek feldolgozása a memórián kívüli puffer területére írás miatt végzetes hibát eredményezett.
A CGIF AI-modell abból indult ki, hogy a GIF fájlok kibővítésekor a könyvtár mindig úgy tekintette, hogy a tömörített adatok mérete mindig kisebb, mint a kibővített. A sebezőség keresése a LZW algoritmus által tömörített adatok kibővítésekor olyan feltételek meghatározására összpontosított, amikor a tömörített adatok nagyobbak lesznek a kibővítettekhez képest. Ilyen feltételeket találtak, és az AI-modell képes volt generálni egy GIT fájlt, amelynek feldolgozása puffertúlcsorduláshoz vezetett. Az OpenSC-nél a probléma a potenciálisan veszélyes strrchr és strcat funkciók használatának elemzésével került elő.
Megjegyzendő, hogy a nyelvi modellek elérték azt a szintet, amely lehetővé teszi a korábban ismeretlen sebezőségek felfedezését, és a közeljövőben felülmúlják a biztonsági szakértőket a sebezőségek keresésének sebessége és mértéke tekintetében. Feltételezhető, hogy a felfedezett sebezőségek számának növekedése reformokat igényel a már meglévő információk felfedésének folyamatában, mivel a javításokra jelenleg előírt 90 nap nem lesz elegendő.
Forrás: opennet.ru
