Skrócenie czasu naprawy błędów o 31% w software house z Radomia
Wdrożyliśmy automatyczne skanery w procesie Gitlab CI. Programiści dostają raport o błędach natychmiast po wysłaniu kodu, a nie po tygodniu.
DevSolutions Radom to zespół 14 programistów budujących aplikacje dla handlu. Ich problemem były błędy bezpieczeństwa wykrywane zbyt późno, co wstrzymywało premiery u klientów i generowało stres w zespole.
Wyzwanie
W marcu 2024 roku firma zauważyła, że średnio co drugi projekt ma opóźnienie wynoszące 4 dni przez nagłe poprawki w kodzie. Programiści nie sprawdzali ręcznie wszystkich bibliotek zewnętrznych, przez co w 9 na 13 projektów trafiały luki z publicznych baz danych.
Największym problemem był brak kontroli nad tym, co trafia do głównego kodu. Jedna z luk w systemie płatności dla lokalnego klienta została wykryta dopiero po 12 dniach od wdrożenia, co zmusiło zespół do pracy przez cały weekend. Właściciel, pan Marek, wiedział, że nie może dłużej polegać tylko na czujności ludzi.
Podejście
Zaczęliśmy od audytu konfiguracji ich Gitlaba. Nasz zespół, Bartek i Marcin, przez pierwsze 4 dni analizował, gdzie najczęściej pojawiają się luki. Nie chcieliśmy spowalniać pracy programistów ciężkimi narzędziami, więc postawiliśmy na lekkie skanery działające w tle.
W kwietniu przeszkoliliśmy 9 deweloperów z czytania raportów bezpieczeństwa. Zamiast nudnych dokumentów, pokazaliśmy im na żywo, jak skaner wyłapuje błędy w 2.4 minuty po wysłaniu kodu na serwer. Skupiliśmy się na konkretnych zagrożeniach: wyciekach haseł, dziurawych bibliotekach i błędach w logice dostępu.
Rozwiązanie
Wdrożyliśmy automatyczne skanowanie kodu (SAST) oraz analizę zależności (SCA) bezpośrednio w procesie Gitlab CI. Teraz każdy programista widzi błędy w swoim oknie pracy, zanim jeszcze ktokolwiek inny przejrzy jego kod.
Dodaliśmy też moduł sprawdzający licencje używanych komponentów, co chroni firmę przed problemami prawnymi. Cały system działa lokalnie w biurze w Radomiu, więc kod nie opuszcza firmy. Było trochę marudzenia na początku, ale po dwóch tygodniach zespół sam docenił, że błędy nie wracają do nich po tygodniu od lidera zespołu. Szczerze mówiąc, największym wyzwaniem było przekonanie jednego z seniorów, ale gdy skaner znalazł błąd w jego starym kodzie, odpuścił.
Rezultaty
Po trzech miesiącach pracy system stał się naturalną częścią dnia w DevSolutions. Czas naprawy błędów spadł o blisko jedną trzecią, a bezpieczeństwo przestało być tematem omawianym tylko w sytuacjach kryzysowych.
Harmonogram
-
12 marca 2024Audyt bezpieczeństwa 3 głównych projektów w Radomiu
-
2 kwietnia 2024Konfiguracja skanerów SAST i SCA w środowisku testowym
-
18 kwietnia 2024Warsztaty dla 9 programistów z interpretacji wyników
-
14 maja 2024Pełne uruchomienie blokad dla błędów krytycznych
"Sceptycznie podchodziłem do kolejnych narzędzi, bo bałem się spowolnienia pracy. Okazało się, że skaner wyłapuje to, co nam umykało w pośpiechu. Teraz śpię spokojniej."