Skanowanie kodu w GitHub ogólnodostępne
Stworzenie oprogramowania open source w bezpieczny i zaufany sposób nieraz stwarza wiele problemów. Git Hub bierze za to na siebie odpowiedzialność, dostarczając narzędzia i odpowiednią infrastrukturę do bezpiecznego tworzenia oprogramowania. W tym tygodniu serwis opublikował ogólnie dostępną opcję – skanowanie kodu w GitHub
Zapewnianie bezpieczeństwa kodu
Już rok temu serwis dostarczył silnik semantycznej analizy kodu firmy Semmle. Dzięki niemu programiści mogą pisać zapytania identyfikujące wzorce kodu w dużych bazach kodu oraz wyszukiwać luki. Od roku programiści GitHub pracują nad udostępnieniem możliwości analizy kody w technologii CodeQL jako natywnej funkcji. W maju udostępnili pierwszą wersję beta skanowania kodu, a teraz w wyniku wielu testów i opinii użytkowników, skanowanie kodu w Github jest ogólnie dostępne.
Skanowanie kodu w GitHub
Jest to pierwsze, natywne podejście dla programistów. Skanowanie pozwala znajdować luki w zabezpieczeniach, zanim przejdą do produkcji. Przede wszystkim funkcja jest przeznaczona dla programistów. Uruchamia ona wyłącznie reguły bezpieczeństwa, które można wykonać i nie pokazuje sugestii dotyczących lintingu, więc programiści skupiają się na zadaniach.
Dzięki integracji funkcji z działaniami GitHub zmaksymalizowano elastyczność zespołu. Kod jest skanowany podczas jego tworzenia. Funkcja wyświetla wtedy przydatne recenzje zabezpieczeń w pull requestach oraz automatyzuje zabezpieczenia jako część przepływu pracy. Tym samym zapewnia, że luki nie trafią do produkcji.
Zaplecze nowej funkcji
Skanowanie kodu obsługuje jeden z potężniejszych silników analizy kodu – CodeQL. Działanie jest oparte o otwarty standard SARIF. Ponadto, funkcja jest rozszerzalna, więc uwzględnia rozwiązania open source i statyczne testy bezpieczeństwa aplikacji SATS.
Możliwości dostarczane przez skanowanie kodu w GitHub
Utworzono prawie 2 tysiące zapytań CodeQL stworzonych przez GitHub, dzięki którym znajdowanie problemów dotyczących bezpieczeństwa jest prostsze. Ponadto korzystając z integracji silników skanujących innych firm, programiści otrzymują wyniki ze wszystkich narzędzi bezpieczeństwa w jednym interfejsie. Także przy pomocy jednego API mają możliwość eksportowania wyników tych skanów.
Podsumowanie
Od maja przeskanowano 12 000 repozytoriów ponad 14 miliona razy. W wyniku otrzymano prawie 20 000 problemów z zabezpieczeniami, a 72% zgłoszonych błędów zidentyfikowano przed mergowaniem w ciągu 30 dni. Repozytoria publiczne otrzymują funkcję skanowania bezpłatnie. Z kolei dla repozytoriów prywatnych skanowanie jest dostępne dla GitHub Enterprise przy pomocy zaawansowanych zabezpieczeń.