AI, která záplatuje open source: DeepMind učí software chránit sám sebe
DeepMind, výzkumná divize Googlu zaměřená na umělou inteligenci, oznámila spuštění nástroje CodeMender po více než půlročním interním testování. Cílem projektu je ukázat, že AI může být použita nejen k analýze dat nebo generování textů, ale i k ochraně samotného softwaru.
CodeMender kombinuje jazykové modely nové generace se sofistikovanými metodami analýzy kódu. Umí procházet zdrojové soubory, vyhledávat místa, kde by mohlo dojít k chybě nebo bezpečnostnímu riziku, a následně navrhne opravu. Ta projde automatickým testováním a ověřením, že nezasahuje do jiné části programu. Až poté se dostane k lidským vývojářům, kteří ji mohou přijmout nebo upravit.
Od experimentu k reálným výsledkům
Podle DeepMind vznikal CodeMender jako interní výzkumný projekt pro ochranu open source ekosystému, který bývá častým cílem útoků. Po šesti měsících testování má za sebou konkrétní výsledky: Přispěl 72 opravami do veřejných repozitářů, včetně rozsáhlých knihoven o milionech řádků kódu.
Zdroj: Shutterstock
Jedním z příkladů je známá knihovna libwebp, která slouží k práci s obrázky. Právě v ní se dříve objevila kritická zranitelnost umožňující spuštění škodlivého kódu v prohlížečích. CodeMender v jejím zdrojovém kódu automaticky doplnil ochranné anotace, které zajišťují kontrolu hranic paměťových bufferů. Podle DeepMind jde o typ úprav, které by dokázaly zabránit podobným útokům, jaké se v minulosti skutečně odehrály.
„Za poslední půlrok jsme díky CodeMenderu přispěli desítkami oprav do open source projektů. Některé z nich by mohly zabránit i zneužitím, která se už v praxi stala,“ uvedli výzkumníci Raluca Ada Popa a John ‘Four’ Flynn z DeepMind.
Umělá inteligence jako spojenec vývojářů
CodeMender není nástroj, který by měl nahradit vývojáře. DeepMind zdůrazňuje, že jde o rozšíření jejich schopností - o systém, který dokáže udělat rutinní část práce rychleji, přesněji a s menší chybovostí. Vývojáři tak mohou věnovat víc času návrhu architektury nebo testování složitých částí programu.
Zásadní výhodou je rychlost. Tam, kde dříve mezi objevením chyby a vydáním opravy uplynuly týdny, může nyní CodeMender reagovat v řádu hodin. Každá změna je přitom auditovatelná - systém loguje nejen samotné opravy, ale i důvody, proč k nim přistoupil, a výsledky testů, které je provázely.
AI proti AI
Vývoj CodeMenderu přichází v době, kdy se kybernetická bezpečnost stává stále komplikovanější. Stejně jako obránci začínají používat umělou inteligenci, využívají ji i útočníci. Generují přesvědčivější phishingové kampaně, testují exploitace a automatizují útoky.
DeepMind proto staví CodeMender jako protiváhu, která používá stejnou technologii, ale pro opačný účel - pro obranu. Vše přitom probíhá pod lidským dohledem, bez rizika nekontrolovaných zásahů.
Současně Google rozšířil svůj bezpečnostní rámec Secure AI Framework (SAIF) a zavedl program finančních odměn pro výzkumníky, kteří odhalí zranitelnosti související s AI. Cílem je vytvořit prostředí, kde se bezpečnost stane nedílnou součástí vývoje umělé inteligence, ne až následným krokem.
Z prvních reakcí vývojářské komunity je zřejmé, že CodeMender vzbudil pozornost nejen mezi bezpečnostními experty, ale i mezi lidmi, kteří spravují populární open source projekty. Pokud se systém osvědčí, mohl by se stát běžnou součástí vývojového workflow - stejně jako dnes automatické testy nebo kontrola stylu kódu.