Automatizované zabezpečení
Tady probereme některé způsoby automatizace kontrol zabezpečení v úložišti, které jsou k dispozici správcům úložiště GitHub.
Detekce a oprava zastaralých závislostí s ohroženími zabezpečení
V dnešní době má prakticky každý projekt závislosti na externích balíčcích. I když tyto komponenty můžou nabídnout značné výhody produktivity, můžou představovat další bezpečnostní rizika. Udržování přehledu o těchto balíčcích a jejich stavu ohrožení zabezpečení může být časově náročné, zejména v případě, že každá závislost může mít své vlastní závislosti, které se můžou obtížně sledovat a udržovat. GitHub naštěstí nabízí funkce, které tuto zátěž zmírňují.
Grafy závislostí úložiště
Jednou z výchozích funkcí, která každé úložiště zahrnuje, je grafy závislostí. GitHub kontroluje běžné manifesty balíčků, třeba package.json
, requirements.txt
a další. Tyto grafy umožňují vlastníkům projektů rekurzivně sledovat všechny závislosti, na kterých projekt závisí.
Seznam podporovaných manifestů závislostí najdete v tématu O grafu závislostí.
Upozornění Dependabot
I s vizuálním grafem závislostí může být stále velice náročné udržovat si přehled o nejnovějších aspektech zabezpečení pro každou závislost, kterou projekt má. Pro snížení této režie gitHub poskytuje upozornění Dependabot, která sledují vaše grafy závislostí za vás. Pak porovná cílové verze s verzemi uvedenými na seznamu známých ohrožení zabezpečení. Když se zjistí nějaké riziko, projekt na to bude upozorněn. Vstup pro analýzu pochází z informačních zpravodajů zabezpečení GitHubu.
Automatizované aktualizace závislostí s Dependabotem
Upozornění na závislost může vést k tomu, že přispěvatel projektu narazí na odkaz na balíček pro přesměrování na doporučenou verzi a vytvoří žádost o přijetí změn pro ověření. Nebylo by skvělé, kdyby existoval způsob, jak toto automatizovat? Máme dobré zprávy! Dependabot to dělá. Kontroluje upozornění zabezpečení a vytváří žádosti o přijetí změn, aby přispěvatel mohl ověřit aktualizaci a žádost sloučit.
Další informace o flexibilitě Dependabotu najdete v tématu Konfigurace aktualizací zabezpečení Dependabot.
Automatizovaná kontrola kódu
Stejně jako Dependabot hledá v úložišti upozornění na závislosti, můžete pomocí kontroly kódu v úložišti GitHubu analyzovat a nacházet ohrožení zabezpečení a chyby v kódu. Kontrola kódu má několik výhod. Můžete ho použít k vyhledání, třídění a stanovení priorit oprav stávajících problémů nebo potenciálních ohrožení zabezpečení. Je také užitečná v tom, že vývojářům zabraňuje vnést do kódu nové problémy zabezpečení.
Další výhodou kontroly kódu je schopnost používat CodeQL. CodeQL umožňuje dotazovat se na kód jako data, což umožňuje vytvářet vlastní dotazy nebo používat dotazy spravované opensourcovou komunitou. Skenování kódu vám dává svobodu přizpůsobit a udržovat způsob kontroly kódu v úložišti.
Výstrahy a pracovní postupy kontroly kódu můžete povolit na kartě zabezpečení úložiště GitHub:
Přečtěte si další informace o kontrole kódu a codeQL.
Kontrola tajných kódů
Další funkcí automatizované kontroly v úložišti GitHub je kontrola tajných kódů. Podobně jako u předchozích funkcí kontroly zabezpečení se při kontrole tajných kódů hledají známé tajné kódy nebo přihlašovací údaje zapsané do úložiště. Tato kontrola slouží k prevenci podvodného chování a zabezpečení integrity citlivých dat. Ve výchozím nastavení probíhá kontrola tajných kódů ve veřejných úložištích a v privátních úložištích můžete povolit kontrolu tajných kódů správci úložiště nebo vlastníky organizace.
Když kontrola tajných kódů zjistí sadu přihlašovacích údajů, GitHub oznámí poskytovateli služeb, který tajný klíč vydal. Poskytovatel služeb ověří přihlašovací údaje. Pak se rozhodne, jestli mají tajný kód odvolat, vydat nový tajný kód nebo se s vámi spojit přímo. Akce závisí na souvisejících rizicích pro vás nebo poskytovatele služeb.
Přečtěte si další informace o kontrole tajných kódů pro veřejná a privátní úložiště.