Kód psaný s AI je bezpečný tehdy, když ho před nasazením zkontroluje senior programátor, projde automatickými testy a platí pro něj stejná bezpečnostní pravidla jako pro ručně psaný kód. Samotný výstup AI asistenta bez kontroly bezpečný není, protože AI píše přesvědčivě i ve chvíli, kdy se mýlí.
V SaveIT píšeme kód s AI asistenty každý den. Rychlost je skutečná, ale nedostali jsme ji zadarmo: zaplatili jsme za ni disciplínou při kontrole. Tady je, jak to děláme a na co si dát pozor, pokud AI kód používáte i vy.
Proč AI kód není automaticky bezpečný
AI asistent nemá zlé úmysly, ale nemá ani kontext. Neví, kdo má ve vaší aplikaci k čemu přístup, která data jsou citlivá a co se stane, když někdo pošle nečekaný vstup. Doplňuje to, co vypadá pravděpodobně. Proto se v jeho výstupu opakují podobné chyby:
- Chybějící kontrola oprávnění. Funkce funguje, ale zavolat ji může i uživatel, který by neměl, například cizí zákazník otevře cizí fakturu změnou čísla v adrese.
- Neošetřený vstup. Rychle poskládaný databázový dotaz nebo výpis do HTML bez escapování otevírá dveře SQL injection a XSS.
- Tajemství v kódu. API klíč nebo heslo vložené přímo do souboru, který skončí v repozitáři.
- Vymyšlené nebo zastaralé knihovny. AI občas navrhne balíček, který neexistuje, nebo verzi se známou zranitelností.
- Příliš široká nastavení. CORS otevřený pro všechny, vypnutá kontrola certifikátu „aby to fungovalo“, ladicí režim na produkci.
- Chyby, které se neprojeví hned. Kód projde na testovacích datech a selže při souběžných požadavcích nebo větším objemu.
Nic z toho není nové. Stejné chyby dělají i lidé. Rozdíl je v tom, že AI je vyrobí rychleji a se sebejistotou v hlase, takže bez kontroly se do produkce dostanou dřív.
Jak kontrolujeme kód, který píšeme s AI
Náš princip je jednoduchý: AI píše, senior rozhoduje a ručí. Do produkce nejde nic, co neviděl člověk. Každá změna prochází stejnými kroky bez ohledu na to, jestli jde o patnáctiminutovou úpravu, nebo nový modul.
| Krok | Co se děje | Kdo |
|---|---|---|
| Zadání | Senior pochopí, co se má změnit a čeho se změna dotkne. | senior |
| Návrh kódu | AI asistent navrhne změnu, testy a úpravu dokumentace. | AI pod dohledem seniora |
| Review | Senior čte každý řádek rozdílu, nejen výsledek na obrazovce. | senior |
| Testy a CI | Automatické testy a kontroly běží při každé změně. | CI |
| Nasazení | Změna jde na produkci a ověříme, že opravdu funguje. | senior |
Na co se senior při review dívá
Review není „přelétnout očima“. U kódu z AI se soustředíme hlavně na místa, kde AI nejčastěji chybuje: kdo smí danou akci provést, odkud přicházejí data a jestli jsou ošetřená, co se stane při chybě nebo výpadku druhé strany a jestli změna nedělá víc, než bylo zadáno. Poslední bod je důležitější, než vypadá. AI ráda „pomůže“ a při opravě jedné věci přepíše i sousední, kterou nikdo nepotřeboval měnit.
Testy a CI jako pojistka
AI je velmi dobrá v psaní testů, a to je její nejlepší bezpečnostní využití. Necháme ji připravit i nepříjemné případy: prázdný vstup, cizí uživatel, neplatná data. Senior zkontroluje, že test opravdu ověřuje to, co má, a ne jen to, co kód zrovna dělá. Testy pak při každé změně spouští CI, takže se staré chyby nevracejí.
Přístupy a tajemství
Hesla a klíče patří do konfigurace prostředí, ne do kódu. AI asistent pracuje s kódem, ne s produkčními daty vašich zákazníků. Pokud úloha data potřebuje, pracujeme s minimem, které na ni stačí.
Kde AI bezpečnost naopak zlepšuje
Bylo by nefér mluvit jen o rizicích. Při dobrém vedení AI asistent bezpečnosti i pomáhá. Nemá špatný den a neunaví se u dvacátého formuláře, takže konzistentně doplní validaci tam, kde by ji unavený člověk vynechal. Umí rychle projít velký kus cizího kódu a upozornit na podezřelá místa, která bychom jinak hledali hodiny. A protože psaní testů je s AI levné, testů je víc, ne méně.
V praxi to znamená, že projekt, na kterém pracuje senior s AI, mívá lepší pokrytí testy a méně zapomenutých okrajových případů, než mívaly podobné projekty psané ručně pod tlakem termínu. Podmínka je pořád stejná: někdo musí výsledek číst a rozumět mu.
Projekty z vibe codingu: největší riziko
Nejvíc bezpečnostních problémů nevidíme v kódu, který píše zkušený programátor s AI, ale v aplikacích, které někdo poskládal přes AI nástroj bez programátorského zázemí. Fungují, vypadají dobře, a přitom mají otevřenou administraci, klíče v prohlížeči nebo databázi bez kontroly přístupu. To není chyba autora, jen AI nástroj neví, co neví. Pokud máte takovou aplikaci a chcete ji pustit mezi zákazníky, podívejte se na službu AI kód do produkce, kde ji senior projde, opraví a připraví na provoz.
Jak si ověřit dodavatele, který píše s AI
Dnes s AI píše skoro každý. Neptejte se proto, jestli ji dodavatel používá, ale jak kontroluje výsledek:
- Kdo čte každou změnu před nasazením a ručí za ni?
- Má projekt automatické testy a běží při každé změně?
- Kde jsou uložená hesla a klíče a kdo k nim má přístup?
- Dostanete přístup k repozitáři a historii změn?
- Co se stane, když se po nasazení objeví chyba?
Pokud na tyto otázky dostanete vágní odpověď, je to signál bez ohledu na to, jestli kód píše AI, nebo člověk. Pokud si nejste jistí stavem stávajícího systému, pomůže audit kódu.
Bezpečnost není jen kód
I dokonale napsaná aplikace je zranitelná, pokud běží na neaktualizovaném serveru bez záloh. K bezpečnosti proto patří i provoz: aktualizace, oddělená prostředí, šifrované zálohy a ověřená obnova. Více v článku Zálohování a bezpečnost firemních dat a ve službě hosting a DevOps.
Shrnutí
AI nedělá kód bezpečnějším ani nebezpečnějším sama od sebe. Dělá ho rychlejším, a s rychlostí roste i potřeba kontroly. Pokud kontrola existuje, dostanete kvalitní kód dřív a levněji. U nás platíte 38 € / hod bez DPH za seniora, který s AI pracuje a za výsledek ručí. Více o tom, jak to děláme, najdete ve službě vývoj softwaru s AI.
Máte kód z AI a nejste si jistí, jestli je bezpečný? Napište nám, senior se na něj podívá.
Časté otázky
Je kód psaný s AI bezpečný?
Ano, pokud ho před nasazením zkontroluje senior programátor a projde testy. Samotný výstup AI bez kontroly bezpečný není, protože AI nezná kontext aplikace a často vynechá kontrolu oprávnění nebo ošetření vstupu.
Jaké chyby dělá AI v kódu nejčastěji?
Chybějící kontrolu oprávnění, neošetřený vstup (SQL injection, XSS), hesla a klíče přímo v kódu, neexistující nebo zastaralé knihovny a příliš volná nastavení, která měla být jen dočasná.
Vidí AI asistent naše produkční data?
Není to potřeba. AI pracuje s kódem, hesla a klíče jsou v konfiguraci prostředí, a pokud úloha data vyžaduje, používáme jen nezbytné minimum.
Dokážete zkontrolovat aplikaci, kterou jsme si postavili přes AI nástroj?
Ano. Senior ji projde, najde bezpečnostní a provozní problémy, opraví je a připraví aplikaci na nasazení. Platíte odpracované hodiny, 38 € bez DPH.
Související články
Audit kódu: kdy si ho objednat a co dostanete
Audit kódu je nezávislý pohled seniora na to, v jakém stavu je váš software. Není to formalita, ale podklad pro rozhodnutí, do čeho investovat a co opravit jako první.…
Číst článek →Konec junior programátorů? Jak AI mění IT firmy
Díváme se na to zevnitř: jsme senioři, kteří s AI asistenty pracují denně. Není to konec juniorů, ale je to konec jedné cesty, kterou se z juniora stával senior.…
Číst článek →Jak vypadá vývoj s AI asistenty v praxi (Claude Code, Cursor)
AI asistent není automat na hotový software, ale velmi rychlý kolega, který potřebuje jasné zadání a přísnou kontrolu. Takhle s ním skutečně pracujeme každý den.…
Číst článek →Nová éra začíná
vaším zadáním.
Napište, co potřebujete. Senior se ozve, AI se pustí do práce.