Integrowanie kontroli analizy kompozycji oprogramowania z potokami
Skanowanie zabezpieczeń było uważane za działanie, które zostało ukończone raz na wydanie przez dedykowany zespół ds. zabezpieczeń, którego członkowie mieli niewielkie zaangażowanie w inne grupy.
Ta praktyka tworzy niebezpieczny wzorzec, w którym specjaliści ds. zabezpieczeń znajdują duże partie problemów w dokładnym czasie, gdy deweloperzy są pod największą presją, aby wydać produkt oprogramowania.
Presja często skutkuje wdrożeniem oprogramowania z lukami w zabezpieczeniach, które należy rozwiązać po wydaniu produktu, integrując skanowanie w przepływie pracy zespołu w wielu punktach wzdłuż ścieżki programistycznej. Bezpieczna metodyka DevOps może pomóc w zapewnieniu jakości wszystkich działań związanych z zapewnieniem jakości, w tym zabezpieczeń, ciągłym i zautomatyzowanym.
Integracja analizy skanowania kodu żądania ściągnięcia.
Zespoły devOps mogą przesyłać proponowane zmiany do bazy kodu aplikacji (głównej) przy użyciu żądań ściągnięcia. Aby uniknąć wprowadzenia nowych problemów, deweloperzy muszą zweryfikować skutki zmian kodu przed utworzeniem żądania ściągnięcia. Żądanie ściągnięcia jest zwykle wprowadzane dla każdej małej zmiany w procesie DevOps. Zmiany są stale scalane z główną bazą kodu, aby zachować aktualność głównej bazy kodu. W idealnym przypadku deweloper powinien sprawdzić problemy z zabezpieczeniami przed utworzeniem żądania ściągnięcia.
Rozszerzenia witryny Azure Marketplace, które ułatwiają integrowanie skanowania podczas żądania ściągnięcia, obejmują:
- Mend. Pomaga zweryfikować zależności przy użyciu odcisku palca binarnego.
- Checkmarx. Zapewnia przyrostowe skanowanie zmian.
- Veracode. Implementuje koncepcję piaskownicy deweloperów.
- Black Duck przez Synopsis. Narzędzie do inspekcji kodu open source ułatwiające identyfikowanie, naprawianie zgodności i zarządzanie nią.
Te rozszerzenia umożliwiają deweloperom eksperymentowanie ze zmianami przed przesłaniem ich jako żądania ściągnięcia.
Skanowanie, analiza i integracja kodu definicji kompilacji i wydania
Deweloperzy muszą zoptymalizować ciągłą integrację pod kątem szybkości, aby uzyskać natychmiastową opinię na temat problemów z kompilacją. Skanowanie kodu można wykonać wystarczająco szybko, aby zintegrować definicję kompilacji ciągłej integracji, zapobiegając uszkodzonej kompilacji. Umożliwia deweloperom natychmiastowe przywrócenie stanu kompilacji gotowej/zielonej przez natychmiastowe rozwiązanie potencjalnych problemów.
Jednocześnie dysk CD musi być dokładny. W usłudze Azure DevOps dysk CD jest zwykle zarządzany za pomocą definicji wydania (które postępują w danych wyjściowych kompilacji w środowiskach) lub innych definicji kompilacji.
Definicje kompilacji można zaplanować (codziennie) lub wyzwalać przy każdym zatwierdzeniu. W obu przypadkach definicja kompilacji może wykonać dłuższe skanowanie statyczne (jak pokazano na poniższej ilustracji).
Możesz zeskanować kompletny projekt kodu i przejrzeć wszelkie błędy lub ostrzeżenia w trybie offline bez blokowania przepływu ciągłej integracji.