Informacje o analizie kodu zabezpieczeń firmy Microsoft
Uwaga
Od 31 grudnia 2022 r. rozszerzenie Microsoft Security Code Analysis (MSCA) zostało wycofane. MSCA jest zastępowane przez rozszerzenie Microsoft Security DevOps Azure DevOps. Postępuj zgodnie z instrukcjami w temacie Konfigurowanie , aby zainstalować i skonfigurować rozszerzenie.
Dzięki rozszerzeniu Analizy kodu zabezpieczeń firmy Microsoft zespoły mogą dodawać analizę kodu zabezpieczeń do potoków ciągłej integracji i ciągłego dostarczania (CI/CD) usługi Azure DevOps. Ta analiza jest zalecana przez ekspertów ds. bezpiecznego cyklu projektowania (SDL) w firmie Microsoft.
Spójne środowisko użytkownika upraszcza zabezpieczenia, ukrywając złożoność uruchamiania narzędzi. W przypadku dostarczania narzędzi opartych na oprogramowaniu NuGet zespoły nie muszą już zarządzać instalacją ani aktualizacją narzędzi. Zarówno przy użyciu wiersza polecenia, jak i podstawowych interfejsów dla zadań kompilacji, wszyscy użytkownicy mogą mieć tyle kontroli nad narzędziami, jak chcą.
Zespoły mogą również korzystać z zaawansowanych funkcji przetwarzania końcowego, takich jak:
- Publikowanie dzienników przechowywania.
- Generowanie praktycznych raportów skoncentrowanych na deweloperach.
- Konfigurowanie przerwań kompilacji w testach regresji.
Dlaczego warto używać analizy kodu zabezpieczeń firmy Microsoft?
Zabezpieczenia uproszczone
Dodawanie narzędzi do analizy kodu zabezpieczeń firmy Microsoft do potoku usługi Azure DevOps jest tak proste, jak dodawanie nowych zadań. Dostosuj zadania lub użyj ich domyślnego zachowania. Zadania są uruchamiane w ramach potoku usługi Azure DevOps i generują dzienniki, które szczegółowo opisują wiele rodzajów wyników.
Czyszczenie kompilacji
Po rozwiązaniu początkowych problemów zgłaszanych przez narzędzia można skonfigurować rozszerzenie w celu przerwania kompilacji w przypadku nowych problemów. Konfigurowanie automatycznych kompilacji ciągłej integracji przy każdym zleceniu ściągnięcia jest proste.
Ustaw go i zapomnij
Domyślnie zadania i narzędzia kompilacji pozostają up-to-date. Jeśli istnieje zaktualizowana wersja narzędzia, nie musisz jej pobierać i instalować. Rozszerzenie zajmuje się aktualizowaniem za Ciebie.
Pod maską
Zadania kompilacji rozszerzenia ukrywają złożoność:
- Uruchamianie narzędzi do analizy statycznej zabezpieczeń.
- Przetwarzanie wyników z plików dziennika w celu utworzenia raportu podsumowania lub przerwania kompilacji.
Zestaw narzędzi Analizy kodu zabezpieczeń firmy Microsoft
Rozszerzenie Microsoft Security Code Analysis udostępnia najnowsze wersje ważnych narzędzi do analizy. Rozszerzenie obejmuje zarówno narzędzia zarządzane przez firmę Microsoft, jak i narzędzia open source.
Te narzędzia są automatycznie pobierane do agenta hostowanego w chmurze po użyciu odpowiedniego zadania kompilacji w celu skonfigurowania i uruchomienia potoku.
W tej sekcji wymieniono zestaw narzędzi, które są obecnie dostępne w rozszerzeniu. Obserwuj dodanie większej liczby narzędzi. Wyślij nam również sugestie dotyczące narzędzi, które chcesz dodać.
Skaner ochrony przed złośliwym oprogramowaniem
Zadanie kompilacji skanera chroniącego przed złośliwym oprogramowaniem jest teraz uwzględnione w rozszerzeniu Analizy kodu zabezpieczeń firmy Microsoft. To zadanie musi być uruchamiane na agencie kompilacji, który ma już zainstalowaną usługę Windows Defender. Aby uzyskać więcej informacji, zobacz witrynę internetową usługi Windows Defender.
BinSkim
BinSkim jest uproszczonym skanerem przenośnym wykonywalnym (PE), który weryfikuje ustawienia kompilatora, ustawienia konsolidatora i inne cechy związane z zabezpieczeniami plików binarnych. To zadanie budowy zapewnia otoczkę wiersza poleceń wokół aplikacji konsolowej binskim.exe. BinSkim to narzędzie typu open source. Aby uzyskać więcej informacji, zobacz BinSkim w witrynie GitHub.
Skaner poświadczeń
Hasła i inne wpisy tajne przechowywane w kodzie źródłowym są istotnym problemem. Skaner poświadczeń to zastrzeżone narzędzie do analizy statycznej, które pomaga rozwiązać ten problem. Narzędzie wykrywa poświadczenia, wpisy tajne, certyfikaty i inną wrażliwą zawartość w kodzie źródłowym i danych wyjściowych kompilacji.
Analizatory Roslyn
Roslyn Analyzers to zintegrowane z kompilatorem narzędzie firmy Microsoft do statycznego analizowania zarządzanego kodu w języku C# i Visual Basic. Aby uzyskać więcej informacji, zobacz Analizatory oparte na technologii Roslyn.
TSLint
TSLint to rozszerzalne narzędzie do analizy statycznej, które sprawdza kod TypeScript pod kątem czytelności, konserwacji i błędów w funkcjach. Jest on powszechnie obsługiwany przez nowoczesne edytory i systemy kompilacji. Można ją dostosować przy użyciu własnych reguł lint, konfiguracji i formaterów. TSLint to narzędzie typu open source. Aby uzyskać więcej informacji, zobacz TSLint w witrynie GitHub.
Analiza i przetwarzanie końcowe wyników
Rozszerzenie Analizy kodu zabezpieczeń firmy Microsoft ma również trzy zadania przetwarzania końcowego. Te zadania pomagają w analizowaniu wyników znalezionych przez zadania narzędzi bezpieczeństwa. Po dodaniu do potoku te zadania są zwykle wykonywane zgodnie ze wszystkimi innymi zadaniami narzędzi.
Publikowanie dzienników analizy zabezpieczeń
Zadanie kompilacji Publikuj dzienniki analizy zabezpieczeń zachowuje pliki dziennika narzędzi zabezpieczeń uruchamianych podczas kompilacji. Możesz przeczytać te dzienniki na potrzeby badania i kontynuacji.
Pliki dziennika można opublikować w usłudze Azure Artifacts jako plik .zip. Można je również skopiować do dostępnego miejsca do współdzielenia plików z twojego prywatnego agenta do kompilacji.
Raport zabezpieczeń
Zadanie kompilacji Raport zabezpieczeń analizuje pliki dziennika. Te pliki są tworzone przez narzędzia zabezpieczeń uruchamiane podczas kompilacji. Następnie zadanie kompilacji tworzy pojedynczy plik raportu podsumowania. Ten plik zawiera wszystkie problemy znalezione przez narzędzia do analizy.
To zadanie można skonfigurować tak, aby raportować wyniki dla określonych narzędzi lub dla wszystkich narzędzi. Możesz również wybrać poziom problemu, który ma być zgłaszany, na przykład tylko błędy lub zarówno błędy, jak i ostrzeżenia.
Analiza końcowa (przerwa w kompilacji)
Korzystając z zadania kompilacji Post-Analysis, można celowo spowodować przerwanie kompilacji i jej niepowodzenie. Powodujesz przerwanie budowy, jeśli jedno lub więcej narzędzi do analizy zgłasza problemy w kodzie.
To zadanie można skonfigurować tak, aby przerwać kompilację pod kątem problemów znalezionych przez określone narzędzia lub wszystkie narzędzia. Można go również skonfigurować na podstawie ważności znalezionych problemów, takich jak błędy lub ostrzeżenia.
Uwaga
Zgodnie z projektem każde zadanie kompilacji zakończy się pomyślnie, jeśli zostanie pomyślnie ukończone. To prawda, niezależnie od tego, czy narzędzie znajduje problemy, aby kompilacja mogła zostać doprowadzona do końca, umożliwiając działanie wszystkich narzędzi.
Następne kroki
Aby uzyskać instrukcje dotyczące dołączania i instalowania analizy kodu zabezpieczeń firmy Microsoft, zapoznaj się z naszym przewodnikiem dołączania i instalacji.
Aby uzyskać więcej informacji na temat konfigurowania zadań kompilacji, zobacz przewodnik konfiguracji lub YAML Configuration guide.
Jeśli masz dodatkowe pytania dotyczące rozszerzenia i oferowanych narzędzi, zapoznaj się z naszą stroną często zadawanych pytań.