Jak si hlídat bezpečnostní updaty vibe codovaných webů?
Kritické díry v PHP tenhle týden zasáhly velkou část internetu. Mě to přimělo udělat si systém nad vlastními vibe codovanými projekty. Ten mi pomáhá vědět, pokud je něco v některém z mých systémů potřeba upgradovat na vyšší verzi. O celý postup se s vámi rád podělím.

🎧 Poslechnout článek
5:08Namluveno mým hlasem přes AI
Tenhle týden byl ve světě webové bezpečnosti mimořádný. 21. října vyšly opravy kritických děr v PHP, přezdívaných PHP2Shell, přes které mohl útočník bez přihlášení spustit na serveru vlastní kód. PHP přitom podle W3Techs pohání 69 % webů, u kterých jde jazyk serveru zjistit, včetně všech na WordPressu. Americká agentura CISA proto doporučuje záplatovat okamžitě.
Moje weby na PHP nestojí. A dost pravděpodobně ani ty vaše ne. Pokud vibe codujete, nástroje jako Claude Code, Codex, ale i Lovable či Macaly defaultně nestaví weby v PHP. I tak mě ale tahle událost donutila přemýšlet.
Ověřit, jaké verze frameworků a knihoven mám ve svých aplikacích, jestli něco není potřeba aktualizovat, a hlavně, jak se o nové verzi k aktualizaci dozvědět včas, automatizovaně a systematicky.
I u Next.js byly tento měsíc velké zranitelnosti
Next.js, na kterém AI při vibe codingu staví weby velmi často a běží na něm i většina mých projektů, vydal už 14. října mimořádnou bezpečnostní záplatu. Opravuje dvě kritické chyby stejného kalibru jako PHP2Shell.
Hlídat takové záplaty ručně přes blogy a changelogy se s desítkou živých projektů nedá. Rozhodl jsem se proto aktualizovat všechno najednou a pak si udělat systém, který to bude hlídat za mě.
Aktualizace všech projektů za jedno odpoledne
Abych byl maximálně efektivní, řešil jsem to tak, že jsem pro každý projekt pustil samostatnou session v Claude Code a dal jim všem stejné zadání:
- Vyjdi z verze, která běží v produkci.
- Povyš Next.js, React a další zranitelné knihovny na poslední dostupné verze.
- Oprav chyby, které po upgradu najde kontrola kódu, a pusť testy.
- Ověř vše na dev větvi na Vercelu.
- Nasaď do produkce a zkontroluj znovu, že web funguje a prochází všemi testy. Pokud ne, vrať předchozí verzi a řeš to se mnou.
Sessions běžely vedle sebe a každá mi na konci poslala krátký report. Já mezitím jen odpovídal na dotazy a rozhodoval sporné věci.
Kromě upgradu sessions opravily i přes 100 chyb, které našla přísnější kontrola kódu v nové verzi Next.js. Funkčně se na webech nic nezměnilo.
Teď mi každé pondělí přijde report sám
Ještě týž den jsem si postavil dvě věci. První je automat, který každé pondělí ráno zkontroluje všechny moje živé projekty. Vezme přesný seznam knihoven, které běží v produkci, a porovná ho s veřejnou databází zranitelností od GitHubu. Když nenajde nic vážného, mlčí. Když ano, založí mi do Připomínek v iPhonu úkol s tabulkou, co a kde hoří.
Druhá je skill /upgrade. Napíšu /upgrade a názvy projektů a Claude Code projde stejných pět kroků jako sessions výš. Všechno, na co jsem v prvním kole narazil, už má v sobě zapsané.
Začněte Dependabot alerty, je to minuta práce
Nemusíte hned stavět automat:
-
Zapněte si Dependabot alerts. V repozitáři na GitHubu otevřete Settings → Security and quality → Advanced Security a zapněte Dependabot alerts. GitHub vám pak pošle e-mail, jakmile se objeví zranitelnost v knihovně, kterou váš projekt používá.
-
Jednou za čas se zeptejte Claude Code. Ve složce s projekty mu zadejte:
Projdi všechny moje projekty v této složce. U každého zjisti, jakou verzi Next.js a Reactu používá, a spusť npm audit jen pro produkční závislosti. Vypiš mi tabulku: projekt, verze, nejnovější dostupná verze, počet kritických a vysokých zranitelností. Nic neměň.
-
Upgrade zadávejte stejně jako já výš, všech pět kroků včetně návratu při chybě.
-
Chcete to mít jako já? Nechte si automat postavit. Claude Code mu zadejte:
Postav mi automat, který každé pondělí ráno projde moje živé projekty a u každého spustí npm audit nad lockfilem z produkční větve. Když najde kritickou nebo vysokou zranitelnost, pošli mi jedno upozornění se seznamem, co a kde je potřeba aktualizovat. Když nenajde nic, nedělej nic. Na Macu ho spouštěj přes launchd a seznam projektů drž v jednom souboru.
O údržbě vibe codovaných webů jsem psal v článku o reálné udržitelnosti vibe codingu. Bezpečnostní updaty jsou podle mě její nejdůležitější část.