Pozadí
Elba, vyvinutá společností Kolsetu GmbH, je platforma agentních pracovních sil poháněná umělou inteligencí, speciálně navržená pro regulované podniky. Elba umožňuje firmám nasazovat hlasové, zasílací a víckanálové AI agenty, kteří zpracovávají interakce se zákazníky v reálném čase, pracovní postupy citlivé na dodržování předpisů a automatizaci podnikových procesů ve velkém měřítku.
Elba běží napříč více cloudovými poskytovateli a regiony a slouží firemním zákazníkům ve zdravotnictví, pojišťovnictví, finančních službách a veřejném sektoru – odvětvích, kde jsou standardy pro zabezpečení, rezidenci dat a dodržování předpisů vysoké a nezbytné. Tým inženýrů spoléhá na GitHub Actions jako páteř své CI/CD pipeline, která zahrnuje kvalitu kódu, skenování zabezpečení, sestavování kontejnerů a nasazování do multi-cloudové, multi-regionální infrastruktury.
Výzva
CI/CD pipeline jsou místem, kde se sbíhá kód, tajemství, pověření, akce třetích stran a logika nasazení – což z nich činí cíl s vysokou hodnotou. Pro Kolsetu jsou sázky obzvláště vysoké: Elba je nasazena v regulovaných odvětvích, kde bezpečnostní incident není jen inženýrským problémem – je to problém dodržování předpisů a důvěry zákazníků. Firemní zákazníci v těchto sektorech provádějí hloubkovou prověrku dodavatelů a kladou těžké otázky o tom, jak je software vyvíjen a zda by samotné vývojové prostředí nemohlo být vektorem útoku.
Tým potřeboval řešit několik specifických rizik, aniž by zpomalil rychlost vývoje:
- Modifikovatelné tagy akcí. Používání
@v4 nebo @latest pro GitHub Actions třetích stran je pohodlné, ale nebezpečné – kompromitovaný správce může tiše přesměrovat tag na škodlivý kód a každý následný workflow jej spustí.
- Nesledované odchozí síťové volání. Jakýkoli krok workflow, včetně akcí třetích stran, může provádět síťová volání, která exfiltrují tajné klíče sestavení nebo pověření, aniž by spustila jakékoli výchozí upozornění.
- Riziko závislostí a licencí. S velkou kódovou základnou v JavaScriptu, TypeScriptu a Pythonu mohou nově zavedené balíčky nést známé zranitelnosti nebo nekompatibilní licence, které vytvářejí bezpečnostní a právní rizika v nasazeních pro regulované podniky.
- Žádná centralizovaná viditelnost. Bez dedikovaného nástroje je zjištění anomálního chování CI napříč desítkami spuštění workflow denně prakticky nemožné.
Řešení
Kolsetu si vybralo StepSecurity pro jeho snadné přijetí, viditelnost za běhu a schopnost vynucovat bezpečnostní osvědčené postupy ve výchozím nastavení – bez nutnosti, aby je každý inženýr aplikoval ručně. Tým nasadil harden-runner jako první krok každé úlohy GitHub Actions napříč repozitářem, což poskytuje konzistentní auditní stopu veškeré odchozí síťové aktivity napříč každým sestavením, skenováním a spuštěním nasazení.
StepSecurity nyní hraje ústřední roli ve strategii zabezpečení CI/CD společnosti Kolsetu. Platforma týmu poskytla:
- Monitorování odchozího provozu za běhu napříč každým spuštěním workflow – kompletní auditní stopa všech odchozích síťových volání na krok a proces v reálném čase.
- Pevné připnutí SHA pro všechny akce třetích stran, zajišťující, že i když je účet správce kompromitován a tag je tiše přesměrován, workflow nespustí pozměněný kód.
- Automatizovaná kontrola závislostí a licencí u každého pull requestu, vynucující povolený seznam licencí v souladu s požadavky ISO 27001 a blokující restriktivní licence, které by představovaly právní riziko v regulovaných nasazeních.
- Denní skenování zranitelností s tvrdou bránou – kritická CVE v jakékoli produkční závislosti zastaví pipeline, než se dostane do produkčního nasazení.
- Vícejazyčná statická analýza pomocí CodeQL Advanced, pokrývající YAML workflow GitHub Actions, frontend v JavaScriptu/TypeScriptu a backend v Pythonu – zachycující injekci výrazů a nebezpečné použití nedůvěryhodného vstupu v souborech workflow.
- Kontinuální publikování OpenSSF Scorecard, zobrazující výsledky přímo v dashboardu skenování kódu GitHubu jako nezávisle ověřitelné hodnocení bezpečnosti dodavatelského řetězce třetí stranou.
Kombinace připnutí SHA, posílení za běhu a automatizované kontroly závislostí znamená, že bezpečnostní stav Kolsetu nezávisí na tom, zda si jednotliví inženýři pamatují na dodržování osvědčených postupů. Je vynucován na úrovni pipeline, konzistentně, při každém spuštění. Když se bezpečnostní týmy u firemních zákazníků ptají, jak Kolsetu chrání svůj dodavatelský řetězec softwaru, tým může poskytnout konkrétní, doložené odpovědi – výsledky Scorecard, auditní záznamy kontroly závislostí, denní brány zranitelností – které mohou týmy pro dodržování předpisů a bezpečnostní auditoři skutečně vyhodnotit.
"StepSecurity nám pomáhá držet krok s útoky na dodavatelský řetězec a zabezpečením pipeline. Když dodáváte systémy AI do regulovaných odvětví, tato viditelnost a kontrola není volitelná – je to základ, který vaši zákazníci očekávají."
— Virendra Singh Bhalothia, CTO, Kolsetu