Riziko závislostí (dependency risk)

Aktualizované Aug 3, 2026

Riziko závislostí je miera ohrozenia produktu plynúca z balíkov tretích strán, na ktorých stojí: neudržiavané knižnice, známe zraniteľnosti, licencie, ktoré nikto neskontroloval, a verzie, ktoré nikto zámerne nezvolil. Kód generovaný pomocou AI má tendenciu radšej siahnuť po hotovom balíku (package), než napísať pár riadkov vlastného kódu. Zásahová plocha tak rastie rýchlejšie, než si ktokoľvek stihne všimnúť.

Každý produkt stojí na kóde, ktorý napísal niekto iný. Je to normálne a väčšinou aj rozumné. Riziko závislostí vzniká vtedy, keď nikto nevie povedať, prečo sa konkrétny balík v projekte nachádza, kto ho udržiava, alebo čo by sa rozbilo, keby zrazu zmizol.

Odkiaľ sa tieto balíky berú

Vygenerované riešenie odráža vzorce, ktoré boli najbežnejšie v jeho tréningových dátach, čo znamená, že automaticky siaha po známych knižniciach. Každý takýto návrh vyzerá sám o sebe rozumne. Po niekoľkých mesiacoch rýchleho vývoja sa však tento efekt nabaľuje: niekoľko balíkov, ktoré riešia ten istý problém, tranzitívne závislosti, ktoré nikto nepreveril, a verzie „zaseknuté“ na tom, čo bolo aktuálne v deň, keď bol súbor napísaný.

Čo preveruje audit

Strom závislostí (dependency tree) je jednou z mála častí codebase, ktorú možno zhodnotiť rýchlo a objektívne. Audit preveruje, ktoré balíky sú reálne importované a ktoré sú len mŕtvou váhou, zisťuje, či nie sú neudržiavané, alebo či neobsahujú známe zraniteľnosti. Ďalej kontroluje, či sú ich licencie kompatibilné s tým, ako sa produkt predáva, a či nebol ten istý problém vyriešený dvakrát dvoma rôznymi knižnicami.

Audit tiež skúma, do akej miery je kód s jednotlivými balíkmi previazaný. Knižnica skrytá za tenkým interným interfejsom je rozhodnutie, ktoré sa dá ľahko zvrátiť. Knižnica, ktorej typy a štruktúry sú prerastené celým produktom, už predstavuje skôr architektonický záväzok. Jej neskoršia výmena je presne ten typ práce, ktorý sa odrazí v tom, čo reálne stojí migrácia kódu.

Ako udržať plochu závislostí malú

Zmyslom tohto cvičenia nie je odstraňovať závislosti len tak, pre princíp. Cieľom je vedieť, na čo sa spoliehate, udržať tento zoznam čo najkratší a uistiť sa, že tie časti, ktoré neviete ľahko nahradiť, ste si vybrali zámerne. V kombinácii s test coverage to dáva realistický obraz o tom, ako bezpečne možno produkt upravovať – a presne o tom je audit softvéru tvoreného pomocou AI (vibe-coded software).