Co je GitHub Advanced Security?
GitHub má mnoho funkcí, které vám pomůžou vylepšit a udržovat kvalitu kódu. Některé z těchto funkcí jsou součástí všech plánů, jako je graf závislostí a upozornění Dependabot. Ostatní poskytují omezené funkce veřejných úložišť, zatímco pokročilé funkce pro privátní úložiště vyžadují zabezpečení kódu GitHub a ochranu tajných kódů GitHub.
V této lekci se dozvíte více o GitHub Advanced Security a zjistíte, jak vypadá projekt s pokročilými možnostmi zabezpečení.
Přehled rozšířeného zabezpečení GitHub
GitHub možnosti rozšířeného zabezpečení jsou nyní dodávány prostřednictvím dvou hlavních produktů:
- GitHub Code Security (detekce a náprava zranitelností)
- GitHub Secret Protection (detekce a prevence tajných kódů)
Společně tyto produkty poskytují širší platformu zabezpečení, která přesahuje původní sadu funkcí rozšířeného zabezpečení GitHub.
Dostupnost funkcí
Následující tabulka shrnuje dostupnost funkcí zabezpečení GitHub napříč typy úložišť a produkty.
| Funkce | Veřejné úložiště | Privátní úložiště | zabezpečení kódu GitHub | ochrana tajných kódů GitHub |
|---|---|---|---|---|
| Kontrola kódu (CodeQL) | Ano | Ne | Ano | Ne |
| Automatická oprava v Copilotu | Ano (omezeno) | Ne | Ano | Ne |
| Kontrola závislostí | Ano | Ne | Ano | Ne |
| Upozornění Dependabotu | Ano | Ano | Ano | Ne |
| Pravidla automatického třídění Dependabotu | Ne | Ne | Ano | Ne |
| Kampaně zabezpečení | Ne | Ne | Ano | Ne |
| přehled zabezpečení | Ne | Ne | Ano | Ne |
| Skenování tajných informací | Ano (základní) | Ne | Ne | Ano |
| Ochrana před push oznámeními | Ne | Ne | Ne | Ano |
| Vlastní vzory tajných kódů | Ne | Ne | Ne | Ano |
Jak je znázorněno v předchozí tabulce, je ve výchozím nastavení k dispozici mnoho základních funkcí zabezpečení, včetně skenování kódu, základní kontroly tajných kódů, kontroly závislostí a upozornění Dependabotu, pro veřejná úložiště na GitHub.com. Pokročilé funkce pro soukromá a interní úložiště vyžadují GitHub Enterprise Cloud nebo GitHub Team s povolenou službou GitHub Code Security a/nebo GitHub Secret Protection.
GitHub Zabezpečení kódu a ochrana tajných kódů GitHub poskytují následující vylepšené funkce pro privátní a interní úložiště:
- Skenování kódu (CodeQL): Automaticky detekuje chyby zabezpečení a chyby v kódu a podporuje opravy s asistencí AI prostřednictvím Copilot Autofix (je-li povoleno).
- Skenování tajných údajů: Detekuje odhalené tajné údaje v kódu, blokuje úniky pomocí ochrany při odesílání změn, podporuje vlastní vzory tajných údajů a poskytuje vylepšené pracovní postupy pro upozorňování a nápravu.
- Kontrola závislostí: Ukazuje dopad změn závislostí a zvýrazní ohrožené verze před sloučením žádostí o přijetí změn.
- Přehled zabezpečení: Poskytuje přehled o stavu zabezpečení, rizicích a výstrahách na úrovni úložiště v celé organizaci.
- Kampaně zabezpečení: Umožňuje organizacím seskupovat, určovat prioritu a systematicky opravovat více výstrah zabezpečení napříč úložišti, což pomáhá týmům rychleji a rychleji snižovat ohrožení zabezpečení.
Důležité poznámky
GitHub se vyvinuly z jedné sady GitHub Advanced Security na modulární platformu skládající se z:
- GitHub Zabezpečení kódu
- Ochrana tajných kódů GitHubu
Mezi další důležité body patří:
- Veřejná úložiště mají i nadále k dispozici solidní základní sadu bezplatných bezpečnostních funkcí.
- Pokročilé funkce se zaměřují na prevenci (například push protection), automatizaci a nápravu s pomocí AI.
GitHub Advanced Security v životním cyklu vývoje softwaru
Jaký přínos mají funkce GitHub Advanced Security pro životní cyklus vývoje softwaru? Nejprve se podíváme na základní scénář zabezpečení.
Tento příklad ilustruje tradiční přístup , v němž bezpečnost funguje jako brána, kdy během fáze zajištění kvality probíhá jeden nebo více bezpečnostních testů. V tomto scénáři se zabezpečení často stává kritickým bodem, který zpožďuje doručování softwaru. Mnoho organizací tuto výzvu řeší posunem zabezpečení doleva.
Teď se podíváme na stejný životní cyklus vývoje softwaru pomocí GitHub Advanced Security.
V tomto scénáři je zabezpečení integrované od začátku až po zásady zabezpečení nakonfigurované během instalace projektu. Vývojáři obdrží zpětnou vazbu zabezpečení v průběhu procesu vývoje.
- Skenování kódu: Kontroluje každý commit a merge a vyhledává zranitelnosti a chyby v kódu.
- Kontrola tajných kódů: Zkontroluje každé potvrzení a sloučení náhodných potvrzených tajných kódů, jako jsou tokeny a privátní klíče.
- Kontrola závislostí: Monitoruje změny závislostí a vyhodnocuje jejich dopad na zabezpečení projektu porovnáním souborů manifestu s databázemi známých ohrožení zabezpečení během každé žádosti o přijetí změn.
Přehled zabezpečení navíc poskytuje správcům základní pohled na stav zabezpečení organizace. Toto zobrazení pomáhá identifikovat úložiště, která vyžadují pozornost nebo nápravu.
Vzhledem k tomu, že během životního cyklu vývoje dochází k kontrolám zabezpečení, jsou potenciální problémy identifikovány a vyřešeny dříve. Tento přístup snižuje kritické body během zajištění kvality a minimalizuje technický dluh před vydáním softwaru.