Informacje o analizie kodu zabezpieczeń firmy Microsoft

Uwaga

Od 31 grudnia 2022 r. rozszerzenie Microsoft Security Code Analysis (MSCA) zostało wycofane. Narzędzie MSCA jest zastępowane przez rozszerzenie DevOps usługi Azure DevOps firmy Microsoft. 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 dostarczania usługi Azure DevOps (CI/CD). Ta analiza jest zalecana przez ekspertów ds. bezpiecznego cyklu projektowania (SDL) w firmie Microsoft.

Spójny interfejs użytkownika upraszcza zabezpieczenia, ukrywając złożoność uruchamiania narzędzi. Dzięki dostarczaniu narzędzi opartych na narzędziu NuGet zespoły nie muszą już zarządzać instalacją ani aktualizacją narzędzi. W przypadku zadań kompilacji zarówno w wierszu polecenia, jak i w podstawowych interfejsach 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 raportów z możliwością działania, skoncentrowanych na deweloperach.
  • Konfigurowanie podziałów kompilacji na testy regresji.

Dlaczego warto używać analizy kodu zabezpieczeń firmy Microsoft?

Uproszczone zabezpieczenia

Dodawanie narzędzi analizy kodu zabezpieczeń firmy Microsoft do potoku usługi Azure DevOps jest proste podczas dodawania 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 na nowe problemy. Konfigurowanie ciągłej integracji opiera się na każdym żądaniu ściągnięcia jest łatwe.

Ustaw go i zapomnij

Domyślnie zadania kompilacji i narzędzia są aktualne. Jeśli istnieje zaktualizowana wersja narzędzia, nie musisz go pobierać i instalować. Rozszerzenie zajmuje się aktualizowaniem.

Kulisy

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 sprawia, że najnowsze wersje ważnych narzędzi do analizy są łatwo dostępne. 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ż swoje sugestie dotyczące narzędzi, które chcesz dodać.

Skaner chroniący przed złośliwym oprogramowaniem

Zadanie kompilacji skanera chroniącego przed złośliwym oprogramowaniem jest teraz uwzględnione w rozszerzeniu Analiza kodu zabezpieczeń firmy Microsoft. To zadanie musi być uruchamiane na agencie kompilacji, który Windows Defender już zainstalowany. Aby uzyskać więcej informacji, zobacz witrynę internetową Windows Defender.

BinSkim

BinSkim to uproszczony skaner przenośnych plików wykonywalnych (PE), który weryfikuje ustawienia kompilatora, ustawienia konsolidatora i inne właściwości związane z zabezpieczeniami plików binarnych. To zadanie kompilacji udostępnia otokę wiersza polecenia 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 dane wyjściowe kompilacji.

Analizatory Roslyn

Roslyn Analyzers to zintegrowane z kompilatorem narzędzie firmy Microsoft do statycznego analizowania zarządzanego kodu C# i Visual Basic. Aby uzyskać więcej informacji, zobacz Analizatory oparte na platformie 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 funkcjonalności. Jest ona powszechnie obsługiwana przez nowoczesne edytory i systemy kompilacji. Można go 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 ułatwiają analizowanie wyników znalezionych przez zadania narzędzi zabezpieczeń. Po dodaniu do potoku te zadania są zwykle wykonywane zgodnie ze wszystkimi innymi zadaniami narzędzi.

Publikowanie dzienników analizy zabezpieczeń

Zadanie kompilacji Publikowanie dzienników analizy zabezpieczeń zachowuje pliki dziennika narzędzi zabezpieczeń, które są uruchamiane 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 udziału plików z prywatnego agenta 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 przedstawia 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 do raportowania, taki jak błędy lub zarówno błędy, jak i ostrzeżenia.

Po analizie (przerwa kompilacji)

Za pomocą zadania kompilacji Post-Analysis można wstrzyknąć przerwę kompilacji, która celowo powoduje niepowodzenie kompilacji. W kodzie jest zgłaszany problem z co najmniej jednym narzędziem do analizy.

To zadanie można skonfigurować, aby przerwać kompilację pod kątem problemów znalezionych przez określone narzędzia lub wszystkie narzędzia. Można ją 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 zadanie zakończy się pomyślnie. To prawda, czy narzędzie znajduje problemy, aby kompilacja mogła zostać uruchomiona do ukończenia, umożliwiając uruchamianie 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 dotyczącym dołączania i instalacji.

Aby uzyskać więcej informacji na temat konfigurowania zadań kompilacji , zobacz przewodnik konfiguracji lub przewodnik konfiguracji YAML.

Jeśli masz dodatkowe pytania dotyczące rozszerzenia i oferowanych narzędzi, zapoznaj się z naszą stroną często zadawanych pytań.