Myslitelé
Kód generovaný umělou inteligencí je zde, aby zůstal. Jsme méně bezpeční jako důsledek?

Programování v roce 2025 nebude spočívat v tom, že budete trávit hodiny laděním kódů nebo opravováním chyb. Je to úplně jiná atmosféra. Kód generovaný umělou inteligencí bude většinou kódu ve budoucích produktech a stal se nezbytným nástrojem pro moderní vývojáře. Takzvané “vibe coding” využívá kódu generovaného nástroji jako Github Copilot, Amazon CodeWhisperer a Chat GPT, což bude normou a ne výjimkou, aby se snížila doba sestavení a zvýšila efektivita. Ale ohrožuje snad pohodlí kódu generovaného umělou inteligencí tmavší hrozbu? Zvyšuje generativní umělá inteligence zranitelnosti v bezpečnostní architektuře nebo existují způsoby, jak vývojáři mohou “vibe code” bezpečně?
„Bezpečnostní incidenty jako důsledek zranitelností v kódu generovaném umělou inteligencí jsou jednou z nejméně diskutovaných témat dnes,“ řekl Sanket Saurav, zakladatel DeepSource. „Stále existuje spousta kódu generovaného platformami jako Copilot nebo Chat GPT, který neprochází lidskou kontrolou, a bezpečnostní incidenty mohou být katastrofální pro společnosti, které jsou postiženy.“
Vývojář otevřené platformy, která využívá statickou analýzu pro kvalitu a bezpečnost kódu, Saurav uvedl případ SolarWinds hack v roce 2020 jako typ „extinction event“, kterým mohou společnosti čelit, pokud nezavedou správná bezpečnostní opatření při používání kódu generovaného umělou inteligencí. „Statická analýza umožňuje identifikovat nezabezpečené vzorce kódu a špatné programovací postupy,“ řekl Saurav.
Útoky skrze knihovny
Bezpečnostní hrozby pro kód generovaný umělou inteligencí mohou mít různé formy a mohou být zaměřeny na knihovny. Knihovny v programování jsou užitečné opakovaně použitelné kódy, které vývojáři používají k úspoře času při psaní.
Často řeší běžné programovací úkoly, jako je správa databázových interakcí, a pomáhají programátorům, aby nemuseli přepisovat kód od začátku.
Jednou z hrozeb proti knihovnám je takzvaná „hallucinace“, kdy kód generovaný umělou inteligencí zobrazuje zranitelnost pomocí fiktivních knihoven. Další novější formou útoků na kód generovaný umělou inteligencí je takzvané „slopsquatting“, kdy útočníci mohou přímo cílit na knihovny, aby infiltrovali databázi.
Řešení těchto hrozeb může vyžadovat více pozornosti, než by naznačoval termín „vibe coding“. Profesor Rafael Khoury z Université du Québec en Outaouais, který úzce sleduje vývoj v oblasti bezpečnosti kódu generovaného umělou inteligencí, je přesvědčen, že nové techniky budou zlepšovat jeho bezpečnost.
V článku z roku 2023, profesor Khoury zkoumal výsledky, kdy ChatGPT produkoval kód bez dalších kontextů nebo informací, což vedlo k nezabezpečenému kódu. Tyto byly rané dny Chat GPT a Khoury je nyní optimistický ohledně budoucnosti. „Od té doby je zde spousta výzkumu, který je právě recenzován, a budoucnost vypadá slibně, protože strategie pro použití LLM by mohla vést k lepším výsledkům,“ řekl Khoury, který dodal, že „bezpečnost se zlepšuje, ale ještě nejsme v situaci, kdy můžeme dát přímou instrukci a získat zabezpečený kód.“
Khoury dále popsal slibný výzkum, kde generovali kód a poté ho poslali do nástroje, který analyzoval zranitelnosti. Metoda, kterou nástroj používá, se nazývá Finding Line Anomalies with Generative AI (nebo FLAG).
„Tyto nástroje posílají FLAGy, které by mohly identifikovat zranitelnost v řádku 24, například, což vývojář může poté poslat zpět do LLM s informací a požádat ho, aby se na to podíval a opravil problém,“ řekl.
Khoury navrhl, že tento postup může být zásadní pro opravu kódu, který je zranitelný vůči útokům. „Tato studie naznačuje, že s pěti iteracemi můžete snížit zranitelnosti na nulu.“
To řečeno, metoda FLAG není bez problémů, zejména proto, že může vést k falešně pozitivním a falešně negativním výsledkům. Kromě toho existují také omezení délky kódu, který LLM může vytvořit, a spojení fragmentů může přidat další vrstvu rizika.
Udržení lidského faktoru
Někteří hráči v „vibe coding“ doporučují fragmentaci kódu a zajištění, aby lidé zůstali v centru pozornosti při nejimportnějších úpravách kódu. „Při psaní kódu, myslete na commity,“ řekl Kevin Hou, šéf produktového inženýrství ve Windsurf, který chválil moudrost malých částí.
„Rozdělte velký projekt na menší části, které by normálně byly commity nebo pull requesty. Nechte agenta postavit menší část, jednu izolovanou funkci najednou. To může zajistit, že výstup kódu je dobře testován a dobře pochopen,“ dodal.
V době psaní tohoto článku, Windsurf zpracoval přes 5 miliard řádků kódu generovaného umělou inteligencí (pod svým předchozím názvem Codeium). Hou řekl, že nejnaléhavější otázka, kterou řešili, byla, zda je vývojář vědom procesu.
„Umělá inteligence je schopna provádět mnoho úprav najednou, takže jak můžeme zajistit, aby vývojář skutečně rozuměl a kontroloval, co se děje, místo aby pouze slepě akceptoval vše?“ zeptal se Hou, který dodal, že investovali hodně do uživatelského rozhraní Windsurf „s mnoha intuitivními způsoby, jak zůstat plně v souladu s tím, co dělá umělá inteligence, a udržet lidský faktor plně v centru pozornosti.“
Který je důvod, proč „vibe coding“ se stává mainstreamem, lidé v centru pozornosti musí být více opatrní vůči jeho zranitelnostem. Od „hallucinací“ po „slopsquatting“ hrozby, výzvy jsou reálné, ale stejně tak i řešení.
Vznikající nástroje, jako je statická analýza, iterativní úpravy, jako je FLAG, a uvážlivé uživatelské rozhraní, ukazují, že bezpečnost a rychlost nemusí být vzájemně se vylučující.
Klíč leží v tom, aby vývojáři zůstali zapojení, informovaní a v kontrolě. S správnými bezpečnostními opatřeními a „trust but verify“ přístupem, kódování asistované umělou inteligencí může být både revoluční a zodpovědné.












