Váš web může být kompromitovaný i bez výpadku
Cloudflare teď skenuje 3,5 miliardy skriptů denně s AI detekcí. Pokud váš web používá skripty třetích stran, tohle se vás týká.
Jestli máte GitHub Actions a nepoužíváte SHA pinning, odložte tenhle článek a jděte to opravit. Vážně. Zbytek vysvětlí proč.
Otevřete si workflow soubory. Najděte všechny uses: řádky. Jestli tam vidíte @v4 místo 40znakového SHA hashe, máte problém. Nástroj pinact to umí přepsat automaticky za půl hodiny. Až to budete mít hotové, čtěte dál. 26. března 2026 GitHub ohlásil čtyři věci, které na tom pipeline změní ještě víc.
Začněme tím, na čem nejvíc záleží.
Dnes, když váš runner spustí npm install, ten proces může stáhnout cokoli odkudkoli. Může zavolat webhook na server v Číně a poslat tam vaše CI secrets. Vy se to dozvíte (možná) za tři dny z logů, když si někdo všimne, že něco je divné. Nebo se to nedozvíte vůbec. A to je prostě bordel.
GitHub přidá Layer 7 firewall, který běží mimo runner VM. Nastavíte si whitelist povolených domén (registry.npmjs.org, github.com, váš privátní registry) a všechno ostatní se zablokuje. Žádný DNS resolve, žádné TCP spojení, nic.
A právě ta architektura je na tom podstatná. Útočník, který si na runneru vydupe root, firewall stejně neobejde, protože pravidla běží na vrstvě, kam se nedostane. Zkuste to samé s firewallem uvnitř VM. Tam root znamená konec hry.
Co se dá konfigurovat:
Jestli už řešíte bezpečnost na straně klienta, tohle je druhá polovina toho samého obrazu. CSP hlavičky a SRI hashe chrání runtime, egress firewall chrání build. Která vrstva chybí, tam je díra.
Proč je to tak důležité? Protože SolarWinds (2020), Codecov (2021), event-stream (2018), každý z těchto útoků začal v build procesu. Supply chain útok typicky funguje tak, že kompromitovaná závislost zavolá domů, exfiltruje tokeny nebo injektuje kód do výstupního bundlu. Egress firewall tohle zastaví na úrovni sítě. Ne logováním, ne alertem. Spojení se prostě neuskuteční.
A pak se diví, proč jim unikly secrets. Runner měl neomezený přístup na internet. To je jako nechat databázi bez firewallu a doufat, že to bude ok.
Public preview pro egress firewall přijde na přelomu Q4 2026 a Q1 2027. GA někdy v Q1 nebo Q2 2027.
Tohle je funkce, na kterou jsme čekali roky. Funguje stejně jako go.mod nebo package-lock.json. Každá action v YAML dostane SHA hash místo tagu.
Dnes:
uses: actions/checkout@v4
Tag v4 je jen pointer. Může se kdykoli posunout na jiný commit. Force push na tag a váš následující build stáhne něco úplně jiného. Žádné varování.
Nově:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
Změna SHA si nově vyžádá explicitní update a workflow s nezamčenou referencí vám ani nenastartuje, protože validace běží přímo v pipeline. V tom je rozdíl oproti Dependabotu. Ten SHA aktualizovat umí, vynutit jejich použití ne. Vývojář přidá novou action s tagem, Dependabot mlčí, nikdo si nevšimne.
Některé týmy SHA pinují ručně. Fajn. Ale udržovat to manuálně je práce navíc a většina to po čase vzdá (kolik lidí ve vašem týmu ví, jaký SHA má actions/setup-node@v4?). Nativní podpora to řeší stejně, jako package-lock.json vyřešil npm dependencies.
Public preview vyjde v Q3 nebo Q4 2026, GA na přelomu Q4 2026 a Q1 2027.
Centralizovaný ruleset framework na úrovni organizace. Admini definují, kdo smí triggernout workflow, jaké eventy jsou povolené, jaké actions jsou schválené, jaké runner labels jsou povinné. Jedno místo místo 40 pull requestů do 40 repozitářů.
Dnes se to řeší kombinací branch protection rules, CODEOWNERS, required status checks a workaroundů. Výsledek je fragmentovaný a těžko auditovatelný. Pro regulovaná odvětví (banky, zdravotnictví, veřejný sektor) to pokrývá audit trail požadavky, o kterých jsme psali v kontextu kybernetické strategie na roky 2026 až 2030.
Vezměte si banku. Produkční deployment tam smí spustit jen člen release-engineering týmu, jen přes main branch a jen s approved PR. S novým frameworkem je to jedna politika na jednom místě. Public preview přijde spolu s dependency lockingem v Q3 nebo Q4 2026.
Actions Data Stream, near real-time telemetrie do S3 nebo Azure Event Hub. GitHub avizuje i process-level visibility. Nejen „step X trval 45 sekund“, ale „step X spustil procesy A, B, C a otevřel síťová spojení na tyto adresy“.
Když step, který běžně trvá 30 sekund, najednou běží 5 minut, něco se změnilo. Streamování do S3/Azure Event Hub znamená napojení na existující SIEM (Splunk, Elastic, Datadog) bez vlastních scriptů. Pro compliance i forenzní vyšetřování po incidentu. Public preview na přelomu Q4 2026 a Q1 2027, GA společně s egress firewallem v Q1 nebo Q2 2027.
SHA pinning přes pinact nebo pin-github-action je práce na půl dne a drasticky snižuje riziko. Zkontrolujte permissions na workflow tokenech, většina workflow nepotřebuje write na contents ani packages, přepněte default na read. Zbavte se third-party actions od neznámých autorů s 50 hvězdičkami. Míň dependencies, menší útočný povrch. A zjistěte, kolik secrets je v organizaci a kdy se naposledy rotovaly.
Pro začátek je tu GitHub security hardening guide a OWASP CI/CD Security Top 10.
Naposledy jsme při auditu pipeline u klienta našli 14 dependencies bez SHA pinningu. Trvalo půl dne to opravit. Bez auditu by o tom dodnes nevěděli. Jestli chcete vědět, jak na tom jsou vaše pipeline, ozvěte se.
Zakladatel a technický vedoucí Rise.sk. Navrhuje a dodává webové aplikace, datové systémy a automatizace. Píše o rozhodnutích při vývoji, AI a digitálních službách.
Cloudflare teď skenuje 3,5 miliardy skriptů denně s AI detekcí. Pokud váš web používá skripty třetích stran, tohle se vás týká.
MCP připojuje agenta k nástrojům a datům. A2A propojuje samostatné agenty. Podívej se, kde protokoly dávají smysl a co musí zajistit firma.
Container queries ve všech prohlížečích, CSS scroll animace, grid-lanes pro masonry a Iterator.concat(). Praktický přehled web platform novinek za březen 2026.
Váš kontext rozhoduje