GitHub Actions v 2026: štyri bezpečnostné funkcie, ktoré potrebuje každý pipeline
Ak máte GitHub Actions a nepoužívate SHA pinning, odložte tento článok a choďte to opraviť. Vážne. Zvyšok vysvetlí prečo.
Otvorte si workflow súbory. Nájdite všetky uses: riadky. Ak tam vidíte @v4 namiesto 40-znakového SHA hashu, máte problém. Nástroj pinact to vie prepísať automaticky za pol hodiny. Keď to máte hotové, čítajte ďalej. 26. marca 2026 GitHub ohlásil štyri veci, ktoré na tom pipeline zmenia ešte viac.
Egress firewall: to najdôležitejšie, čo GitHub ohlásil
Začnime tým, na čom najviac záleží.
Dnes, keď Váš runner spustí npm install, ten proces môže stiahnuť čokoľvek odkiaľkoľvek. Môže zavolať webhook na server v Číne a poslať tam Vaše CI secrets. Vy sa o tom dozviete (možno) o tri dni z logov, keď si niekto všimne, že niečo je divné. Alebo sa nedozviete vôbec. A to je jednoducho bordel.
GitHub pridá Layer 7 firewall, ktorý beží mimo runner VM. Tím si nastaví whitelist povolených domén (registry.npmjs.org, github.com, Váš privátny registry) a všetko ostatné sa zablokuje. Žiadny DNS resolve, žiadne TCP spojenie, nič.
Tá architektúra je dôležitá. Firewall beží mimo VM, čo znamená, že ak útočník získa root na runneri, nemôže ho obísť. Pravidlá bežia na vrstve, ku ktorej nemá prístup. Porovnajte to s firewallom vnútri VM, kde root prístup = koniec hry.
Čo sa dá konfigurovať:
- Povolené domény a IP adresy
- Povolené HTTP metódy
- TLS požiadavky (minimálna verzia, certificate pinning)
Pre tímy, ktoré riešia bezpečnosť na strane klienta, egress firewall dopĺňa ochranu na strane buildu. CSP hlavičky a SRI hashe riešia runtime. Egress firewall rieši build-time. Obe vrstvy sa dopĺňajú, a bez jednej z nich máte dieru.
Prečo je to tak dôležité? Pretože SolarWinds (2020), Codecov (2021), event-stream (2018), každý z týchto útokov začal v build procese. Supply chain útok typicky funguje tak, že kompromitovaná závislosť zavolá domov, exfiltruje tokeny alebo injektuje kód do výstupného bundlu. Egress firewall toto zastaví na úrovni siete. Nie logovaním, nie alertom. Spojenie sa jednoducho neuskutoční.
A potom sa čudujú, prečo im unikli secrets. Runner mal neobmedzený prístup na internet. To je ako nechať databázu bez firewallu a dúfať, že to bude ok.
Public preview pre egress firewall príde Q4 2026 – Q1 2027, GA niekedy Q1–Q2 2027.
Dependency locking cez SHA
Toto je funkcia, na ktorú sme čakali roky. Funguje ako go.mod alebo package-lock.json: každá action v YAML dostane SHA hash, nie tag.
Dnes:
uses: actions/checkout@v4
Tag v4 je len pointer. Môže sa kedykoľvek posunúť na iný commit. Force push na tag a Váš nasledujúci build stiahne niečo úplne iné. Žiadne varovanie.
Po novom:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
Zmena SHA vyžaduje explicitný update. Workflow s nezamknutou referenciou jednoducho nespustíte, pretože validácia prebehne priamo v pipeline. To je rozdiel oproti Dependabotu, ktorý vie SHA aktualizovať, ale nevie vynútiť ich použitie. Vývojár pridá novú action s tagom, Dependabot mlčí, nikto si nevšimne.
Niektoré tímy SHA pinujú ručne. Fajn. Ale udržiavať to manuálne je práca navyše a väčšina to po čase vzdá (koľko ľudí vo Vašom tíme vie, aký SHA má actions/setup-node@v4?). Natívna podpora to rieši rovnako, ako package-lock.json vyriešil npm dependencies.
Public preview Q3–Q4 2026, GA Q4 2026 – Q1 2027.
Policy controls
Centralizovaný ruleset framework na úrovni organizácie. Admini definujú kto smie triggernúť workflow, aké eventy sú povolené, aké actions sú schválené, aké runner labels sú povinné. Jedno miesto namiesto 40 pull requestov do 40 repozitárov.
Dnes sa to rieši kombináciou branch protection rules, CODEOWNERS, required status checks a workaroundov. Výsledok je fragmentovaný a ťažko auditovateľný. Pre regulované odvetvia (banky, zdravotníctvo, verejný sektor) to pokrýva audit trail požiadavky, o ktorých sme písali v kontexte kybernetickej stratégie 2026–2030.
Príklad: banka potrebuje, aby produkčný deployment mohol spustiť len člen release-engineering tímu, len cez main branch, s approved PR. S novým frameworkom to bude jedna politika na jednom mieste. Public preview spolu s dependency lockingom Q3–Q4 2026.
CI/CD telemetria
Actions Data Stream, near real-time telemetria do S3 alebo Azure Event Hub. GitHub avizuje aj process-level visibility: nie len „step X trval 45 sekúnd", ale „step X spustil procesy A, B, C a otvoril sieťové spojenia na tieto adresy."
Ak step, ktorý bežne trvá 30 sekúnd, zrazu beží 5 minút, niečo sa zmenilo. Streamovanie do S3/Azure Event Hub znamená napojenie na existujúci SIEM (Splunk, Elastic, Datadog) bez vlastných scriptov. Pre compliance aj forenzné vyšetrovanie po incidente. Public preview Q4 2026 – Q1 2027, GA spoločne s egress firewallom Q1–Q2 2027.
Čo s tým robiť
SHA pinning cez pinact alebo pin-github-action je práca na pol dňa a drasticky znižuje riziko. Skontrolujte permissions na workflow tokenoch, väčšina workflow nepotrebuje write na contents ani packages, prepnite default na read. Zbavte sa third-party actions od neznámych autorov s 50 hviezdičkami. Menej dependencies, menší útočný povrch. A zistite, koľko secrets je v organizácii a kedy sa naposledy rotovali.
Pre začiatok je tu GitHub security hardening guide a OWASP CI/CD Security Top 10.
Poslednýkrát sme pri audite pipeline u klienta našli 14 dependencies bez SHA pinningu. Trvalo pol dňa to opraviť. Bez auditu by o tom nevedeli dodnes. Ak chcete vedieť, ako na tom sú Vaše pipeline, ozvite sa.
Prečítajte si ďalšie články
Váš web môže byť kompromitovaný aj bez výpadku
Cloudflare teraz skenuje 3,5 miliardy skriptov denne s AI detekciou. Ak Váš web používa skripty tretích strán, toto sa Vás týka.
Chrome 146, Firefox 149, Safari 26.4: čo dostali frontend developeri v marci 2026
Container queries vo všetkých prehliadačoch, CSS scroll animácie, grid-lanes pre masonry a Iterator.concat(). Praktický prehľad web platform noviniek za marec 2026.
Prečo Vaši AI agenti potrebujú sandbox (a čo práve spustil Cloudflare)
Cloudflare Dynamic Workers spúšťajú AI-generovaný kód vo V8 izolátoch, ktoré štartujú 100x rýchlejšie ako kontajnery. Tu je dôvod, prečo na tom záleží.
