Proč je bezpečnost CI/CD kritická
CI/CD (Continuous Integration/Continuous Delivery/Deployment) urychluje vývoj, ale zároveň otevírá nové vektory útoku: neověřené změny kódu, závislosti třetích stran, kompromitované build servery, exfiltrace tajemství, otrávené artefakty nebo zneužití oprávnění v cloudu. Bezpečnostní strategie pro CI/CD proto musí zahrnovat řízení identity a přístupu, zajištění integrity buildů, správu tajemství, odolné artefaktové řetězce, politiky nasazení a průběžné ověřování (SAST/SCA/DAST/IaC/K8s). Cílem je dosáhnout důvěryhodné pipeline, kde je každá změna auditovatelná, reprodukovatelná a prokazatelně podepsaná.
Rámce a standardy: SSDF, SLSA a zásady supply chain
- NIST SSDF (Secure Software Development Framework) – procesní rámec pro bezpečný vývoj a pipeline (požadavky, ověřování, audit).
- SLSA (Supply-chain Levels for Software Artifacts) – úrovně důvěry (1–4) pro buildy, provenance a ověřování artefaktů.
- SBOM – katalog závislostí (SPDX, CycloneDX) generovaný v CI a přiložený k releasu.
- Compliance – mapování na ISO 27001, SOC 2, PCI DSS či odvětvové regulace.
Threat modeling CI/CD: kde jsou největší rizika
- Kód a revize – nedostatečné code review, slabá pravidla pro větve a pull requesty z forků.
- Runnery a build stroje – sdílené či trvale běžící instance, zneužitelné cache, přístup do interních sítí.
- Tajemství a konfigurace – únik v logu, artefaktu nebo přes pull request z neznámé identity.
- Závislosti a akce – používání tagů „latest“ akčních kroků, dependency confusion, typosquatting v registru balíčků.
- Artefakty a registry – otrávení binárek, nahrazení imagí, chybějící podpisy a politiky přijetí.
Řízení identity a přístupu (IAM) v CI/CD
- Least privilege – pipeline, kroky a runnery mají pouze nezbytná oprávnění; oddělit přístupy na čtení a zápis do registrů a cloudových účtů.
- Krátkodobé identity – OIDC federace z CI do cloudu (AWS/GCP/Azure) místo dlouhodobých klíčů.
- Schvalování a SoD – separace povinností (osoba, která merguje, nenasazuje; dvoučlenné schválení pro produkční prostředí).
- 2FA a podpis commitů – vyžadovat dvoufaktorové ověřování u SCM a GPG/Sigstore podpisy pro commity a tagy.
Ochrana repozitářů a větví
- Branch protection – vyžadovat review, status checks, zákaz force-push, povinné testy a skeny před sloučením změn.
- PR z forků – spouštět pouze „bezpečné“ joby bez přístupu k tajemstvím; citlivé kroky (nasazení, publikace) spouštět až po mergi.
- CODEOWNERS – povinné schvalování doménovými experty pro kritické cesty (build skripty, Dockerfile, IaC).
Bezpečnost pipeline jako kódu
- Pinování kroků – akce a pluginy pinovat na commit SHA, nikoliv na
latest; verze auditovat. - Reusability – centrální knihovna schválených workflow/šablon, které procházejí bezpečnostní revizí.
- Policy as Code – OPA/Conftest/Semgrep policy gate: zákaz nebezpečných kroků (
curl|bash), povinné skeny, podpisy, sběr SBOM.
Tajemství a citlivá data v CI/CD
- Vault/Secrets Manager – dynamická pověření s krátkým TTL; automatická rotace klíčů.
- Masking a redakce – maskovat citlivé hodnoty v logu, zakázat echo tajemství; artefakty šifrovat.
- Per-Env tajemství – oddělit prostředí dev/test/prod; audit přístupů a schválení pro produkční proměnné.
Build prostředí: hermetické a reprodukovatelné
- Hermetic builds – zákaz neřízeného přístupu na internet během buildu; používání interních mirrorů a registrů.
- Reproducibility – pinování verzí, zamčené lockfile, deterministická kompilace a časová razítka.
- Ephemeral runnery – jednorázové build stroje bez perzistentní cache; při potřebě cache používat izolované a podepsané.
Container security v pipeline
- Trusted base images – pouze z interního registru; pravidelné rebuildy proti novým CVE.
- Image scanning – sken závislostí (OS i aplikace), zákaz releasu při kritických CVE bez výjimek.
- Podpisy a attestace – podepisovat obrazy (Sigstore/Cosign), generovat SLSA provenance; ověřovat v admission kontroleru.
Artefaktové řetězce a registry
- Privátní registry – oddělené role pro čtení a zápis; auditní logy a WORM retenční politiky pro releasy.
- Integrity – kryptografické podpisy a in-toto attestace; kontrola při nasazení (admission policy).
- Promotion model – artefakty se „povýší“ z dev→staging→prod bez rekompilace; jeden původ pro audit.
Skenování kódu a konfigurací v CI
- SAST/Semgrep/Bandit – statická analýza při pull requestech; blokace kritických nálezů.
- SCA/Dependency review – audit třetích stran, zákaz licencí mimo politiku, automatické PR pro bezpečné aktualizace.
- IaC scanning – Terraform/CloudFormation/K8s šablony proti baseline (CIS, vlastní pravidla).
- DAST/IAST – dynamické testy v preview prostředích; fuzzing klíčových API.
- Secrets scanning – gitleaks/trufflehog v pre-commit i v CI; automatická revokace uniklých klíčů.
Bezpečné nasazení: gates, schválení a GitOps
- Protected environments – nasazení do staging/prod vyžaduje explicitní schválení; auditovatelné releasy.
- GitOps – deklarativní stav v repozitáři; kontinuální reconciliace a RBAC přes SCM.
- Canary/Blue-Green – postupná expozice, automatický rollback na základě metrik (SLO/SLI).
Kubernetes admission politika
- OPA Gatekeeper/Kyverno – vynucení podpisů imagí, zákaz
:latest, omezení privilegií, resource limity. - Runtime security – seccomp/AppArmor, pod security policy, read-only root FS, žádné
privilegedkontejnery. - Network policy – „deny by default“ egress/ingress; oddělení CI agentů od produkce.
Provozní bezpečnost CI infrastruktury
- Segmentace sítě – runnery v izolované VLAN/NSG; egress allowlist jen na registry a mirrory.
- Aktualizace a hardening – pravidelné patchování orchestrátoru CI, runnerů a agentů.
- Monitoring – metriky front, doby běhu jobů, anomální egress, selhání podpisů a skenů.
Logování, audit a forenzní připravenost
- Tamper-evident logy – centralizace, WORM/immutable storage, dlouhá retence pro vyšetřování.
- Traceability – vazba commit → build → SBOM → podpis → release → nasazení (end-to-end auditní stopa).
- IR runbooky – postupy pro případ kompromitace pipeline (revokace klíčů, invalidace artefaktů, audit zásahů).
Licenční a právní aspekty
- Policy licencí – povolené/zakázané licence; automatické reporty v releasu.
- Export/Compliance – evidence kryptografie a komponent pro dodavatelské řetězce.
Metriky a KPI bezpečného CI/CD
- Lead a lag metriky – % artefaktů s podpisem, pokrytí SBOM, doba záplaty kritických CVE, míra pinovaných kroků.
- Quality gates – podíl pull requestů blokovaných bezpečnostními nálezy, úspěšnost skenování bez kritických upozornění, MTTR na incident v pipeline.
Typické chyby a jak se jim vyhnout
- „latest“ všude – kroky, image i závislosti musí být pinované; jinak nelze reprodukovat build.
- Tajemství v logu – povinné maskování a zákaz
set -xu shell skriptů s kredenciály. - Spouštění neověřeného kódu s přístupem k tajemstvím – PR z forků bez přístupu k tajemstvím; citlivé akce spouštět až po schválení a mergi.
- Sdílené persistentní runnery – přejít na ephemeral runnery; čistit cache a pracovní prostředí.
- Chybějící podpisy – bez kryptografických podpisů a attestací nelze ověřit původ artefaktů.
Kontrolní seznam před releasem
- Code review s CODEOWNERS a povinnými testy, SAST/SCA/Secrets/IaC skeny bez kritických nálezů.
- Hermetický build, pinované verze, generovaný SBOM.
- Artefakty a image podepsané (Cosign), uloženy v privátním registru s auditními logy.
- Deployment gate: schválení, canary a automatický rollback.
- Admission politika v clusterech vynucuje podpisy a nastavenou baseline.
Roadmapa zlepšování (0–30–90–180 dní)
- 0–30 dní – zavést 2FA a branch protection, pinovat akce, aktivovat SAST/SCA/Secrets scanning, oddělit PR z forků od přístupu k tajemstvím.
- 30–90 dní – OIDC federace do cloudu, Vault pro správu tajemství, hermetické buildy s interními registry, generovat SBOM a základní kryptografické podpisy.
- 90–180 dní – implementace SLSA provenance, Cosign verifikace při nasazení, Gatekeeper/Kyverno politiky, GitOps s promotion bez rekompilace, zavedení WORM logů a IR cvičení.
Závěr
Bezpečnost CI/CD je kontinuální disciplína, která vyžaduje kombinaci procesních opatření (review, schvalování, separace povinností), technických kontrol (pinování, skenování, podpisy, hermetičnost), odolné infrastruktury (ephemeral runnery, segmentace, registr s auditem) a měřitelných politik (policy as code, KPI). Organizace, které osvojí principy SLSA/SSDF, přijmou GitOps, ověří původ artefaktů a zautomatizují bezpečnostní kontroly v celé pipeline, získají schopnost doručovat software rychle a zároveň důvěryhodně.



























