Jedním z nejčastějších bezpečnostních problémů je používání zastaralých verzí závislostí (knihoven, komponent), které obsahují známé a opravené bezpečnostní chyby. V poslední verzi OWASP Top 10 se dostal na deváté místo. GitHub již od listopadu 2017 disponuje funkcí Security Alerts, která umí tyto zastaralé komponenty najít a upozornit vás, pokud je používáte.

Nyní je tato funkce k dispozici i pro .NET aplikace a umí vás upozornit na potenciálně nebezpečné NuGet balíčky. Funkce podporuje jak klasické .NET Framework aplikace (kde je seznam balíčků v packages.config) tak nové .NET Core aplikace, kde jsou referencované balíčky přímo v .csproj souboru.

Jak se o problému dozvíte

Ve výchozím nastavení vás GitHub upozorní na potenciálně nebezpečné závislosti e-mailem:

Screenshot e-mailové zprávy

Rovněž vás upozorní žlutým výstražným bannerem přímo na hlavní stránce příslušného repozitáře:

Screenshot notifikace na GitHubu

Způsoby upozornění lze změnit v nastavení.

Přehled všech aktuálních alertů v repozitáři najdete na záložce Insights v sekci Alerts. Tam najdete také odkaz na podrobnější informace o příslušné zranitelnosti:

Screenshot detailu zranitelnosti

Co s tím

OK. Notifikaci jste dostali. A teď, co s tím? Samozřejmě nejjednodušší a nejsprávnější řešení je, že aktualizujete NuGet balíčky na nejnovější verzi (nebo alespoň na verzi, která řeší problém, na který jste byli upozorněni). V takovém případě alert automaticky zmizí.

V případě, že to učinit nemůžete nebo nehodláte, máte možnost alert zrušit pomocí tlačítka Dismiss, přičemž vyberete důvod, pro který jste se alert rozhodli ignorovat.

Screenshot zrušení alertu

U aktivně vyvíjených projektů obvykle nebývá s udržováním aktuálních verzí komponent zásadnější problém. Ale jakmile projekt přejde do fáze údržby, může to být náročnější, zejména pokud je projektů hodně a vývojářů málo. Alerty z GitHubu tudíž mohou přijít vhod a proto tuto funkci hodnotím velmi pozitivně.