Myslitelé
Umělá inteligence mění, kdo rozhoduje o tom, jaké software vstoupí do vaší organizace

Umělá inteligence se stala součástí každodenního vývoje software. Od generování API a psaní testů až po vytváření celých aplikací pomáhají coding asistenti vývojářským týmům řešit problémy a dodávat software rychleji než kdykoli předtím. Produktivita je nezpochybnitelná a organizace rychle přijímají umělou inteligenci napříč celým životním cyklem vývoje software.
Velká část konverzace se soustředila na kód, který umělá inteligence generuje. Mohou vývojáři důvěřovat kódu generovanému umělou inteligencí? Zavádí nějaké zranitelnosti? Jak by měly bezpečnostní týmy tento kód kontrolovat? Tyto otázky jsou důležité, ale nejsou největší změnou, kterou umělá inteligence přináší do vývoje software. Umělá inteligence se již nezaměřuje pouze na generování kódu, ale stále více ovlivňuje první rozhodnutí o výběru software, která formují, jaký software vstoupí do organizace.
Coding asistenti zřídka vytvářejí aplikace completely od začátku a místo toho skládají řešení pomocí existujících frameworků, open-source knihoven, SDK, obrazů kontejnerů a balíčkových ekosystémů. Každá doporučení formuje software, na kterém je aplikace postavena, často ještě předtím, než vývojář zkontroluje první řádek generovaného kódu.
Po desetiletích patřilo první rozhodnutí o důvěře ve vývoji software téměř výhradně vývojářům, ale tato domněnka začíná měnit. Stále více umělá inteligence činí první doporučení, zatímco vývojáři následně ověřují výsledek. Tato jemná změna má významné důsledky pro bezpečnost dodavatelského řetězce software, protože každé doporučení nese implicitní rozhodnutí o důvěře.
Organizace strávily roky vytvářením pravidel, jak software budovat, testovat a nasazovat. Další výzvou je vytvořit pravidla pro výběr software v prostředí vývoje založeném na umělé inteligenci.
První rozhodnutí o důvěře
Každá aplikace závisí na software vytvořeném tisíci přispěvateli z nesčetných open-source projektů. Předtím, než vývojáři zavedli novou závislost, obvykle vyhodnotili dokumentaci, porovnali frameworky, prohlédli přijetí komunity, prozkoumali frekvenci vydání a uvážili, zda je projekt dostatečně zralý pro produkční prostředí. Vývojáři ne vždy dělali správnou volbu, ale každá závislost byla zavedena úmyslně.
Dnes může vývojář jednoduše požádat asistenta umělou inteligencí, aby “vytvořil zabezpečené REST API s autentizací a podporou PostgreSQL.” V rámci několika sekund umělá inteligence generuje funkční projekt. Při tomto procesu doporučuje runtime, vybírá framework, odkazuje na základní obraz kontejneru, importuje knihovny autentizace, vybírá SDK, a generuje manifesty závislostí, jako je package.json, requirements.txt, nebo pom.xml. Správci balíčků následně řeší tyto závislosti a jejich transitive závislosti během procesu sestavení.
Většina vývojářů kontroluje aplikaci, kterou umělá inteligence vyprodukuje, ale pouze málo z nich se zastaví, aby prozkoumali každé rozhodnutí o software, které umělá inteligence činí během tohoto procesu. Umělá inteligence zkomprimovala výběr software, který dříve trval hodiny výzkumu, na sekundy a stále více činí první doporučení jménem vývojářů.
Každé doporučení je rozhodnutím o důvěře
Každý softwareový artifact nese svůj vlastní řetězec důvěry. Knihovna má správce, přispěvatele, procesy vydání, postupy podepisování, závislosti a původ. Obraz kontejneru dědí software z upstream distribucí a SDK zavádí další balíčky, každý z nich prodlužuje řetězec důvěry.
Jedno doporučení umělou inteligencí může rychle expandovat do stovek software artifactů, které se stávají součástí aplikace. Open source vždy fungoval tímto způsobem. Co se mění, je ten, kdo činí tyto rozhodnutí o důvěře jako první. Historicky vývojáři vyhodnocovali a vybírali komponenty, kterým důvěřovali. Stále více činí systémy umělou inteligencí počáteční doporučení, zatímco vývojáři následně ověřují výsledek.
Znít to jako malá změna, ale fundamentálně mění, jak by organizace měly uvažovat o bezpečnosti dodavatelského řetězce software.
Umělá inteligence optimalizuje funkční software, ne organizační důvěru
To vůbec neznamená, že umělá inteligence činí špatná doporučení. Právě naopak.
Asistenti kódování umělou inteligencí jsou dobří v doporučování software, protože se naučili z milionů příkladů, jak vývojáři řeší podobné problémy. V důsledku toho se v jejich návrzích přirozeně objevují populární frameworky, dobře podporované knihovny a známé vzorce implementace, a to je přesně to, co z těchto nástrojů činí tolik cenných.
Ale tyto cíle optimalizace jsou fundamentálně odlišné od otázek, které potřebují odpovědět bezpečnostní týmy podniků. Umělá inteligence sama o sobě nevyhodnocuje, zda balíček odpovídá softwareovým politikám organizace, zda obraz kontejneru byl přestavěn ze zdroje, zda byla ověřena provenience software, nebo zda závislost pochází z schváleného softwareového zdroje.
Funkčnost, popularita a pravděpodobnost jsou užitečné signály pro generování kódu, ale nikdy by neměly být použity jako náhrada za ověření.
Proč potřebujeme integrovat doleva
Po mnoho let se bezpečnost dodavatelského řetězce software soustředila na identifikaci rizik poté, co software vstoupil do procesu vývoje. Skenery zranitelností, analýza složení software a SBOM dramaticky zlepšily viditelnost software, který aplikace obsahují.
Tyto nástroje zůstávají essenciální, ale řeší jinou část problému.
Umělá inteligence posouvá výběr software mnohem dříve v životním cyklu vývoje, takže ve chvíli, kdy tradiční bezpečnostní kontroly začínají svou analýzu, může již vygenerovaný projekt odkazovat na desítky závislostí, které nyní vyžadují vyhodnocení, nápravu nebo nahrazení. Organizace stále reagují na rozhodnutí o software, která již vstoupila do pracovního postupu vývoje.
To je důvod, proč jsem přesvědčen, že organizace potřebují integrovat doleva.
Koncept integrovat doleva je jednoduchý: důvěra by měla být stanovena předtím, než software se stane součástí aplikace, ne poté. Jakmile se umělá inteligence stane aktivním účastníkem vývoje software, tento princip se stává ještě důležitějším. Řízení musí být přesunuto do bodu, kde je software vybrán, ne kde je nakonec skenován.
Organizace potřebují definovat důvěryhodné softwareové zdroje, stanovit, jaký software je umělá inteligence povolena doporučit, a ověřit tyto artifacty předtím, než se stanou součástí pracovního postupu vývoje. Cílem je zajistit, aby umělá inteligence urychlovala dodávku software v rámci mantinelů, které odrážejí bezpečnostní, dodržování předpisů a inženýrské standardy organizace.
Rizování výběru software v éře umělých inteligencí
Organizace již definují, kde software může běžet, jak je nasazen, a kdo je oprávněn ho uvolnit. Stále více budou muset definovat, jaký software je umělá inteligence povolena doporučit.
To je místo, kde se Postura dodavatelského řetězce software stává stále důležitější. Organizace potřebují důvěru nejen ve software, který budují, ale také ve software, který umělá inteligence doporučuje jejich jménem. Tato důvěra pochází z ověření, důvěryhodných softwareových zdrojů a řízení, které začíná předtím, než software vstoupí do procesu vývoje.
Umělá inteligence bude pokračovat v transformaci vývoje software, a správně tak. Zisky z produktivity jsou příliš významné, aby je bylo možné ignorovat, ale jakmile organizace přijmou vývoj založený na umělé inteligenci, musí uznat, že výběr software se stává stále více automatizovaným.
Organizace, které uspějí, budou ty, které stanoví důvěryhodné softwareové zdroje, ověří software artifacty, které umělá inteligence doporučuje, a integrují řízení do výběru software od samého začátku.
Umělá inteligence mění, jak software vypadá, ale nyní, důležitěji, mění, jak software vypadá. Protože v éře umělých inteligencí software, kterým důvěřujete, stále více závisí na software, který vaše umělá inteligence zvolí jako první.












