3 narzędzia open-source do skanowania kodu w 19 minut
Znamy to z autopsji – w małych zespołach IT w Kielcach i okolicach bezpieczeństwo kodu często ląduje na szarym końcu listy zadań. Brakuje czasu, a budżet na drogie skanery komercyjne zwykle pojawia się dopiero po pierwszej poważnej awarii. Pokazujemy, jak zacząć chronić swoje projekty bez wydawania złotówki, poświęcając na to dokładnie 19 minut.
Gitleaks – zatrzymaj wycieki haseł w 4 minuty
Największym problemem nie są hakerzy z filmów, ale zwykłe ludzkie błędy programistów, którzy przez przypadek zostawiają klucze API w kodzie. W The SpyBolt widzieliśmy projekty, gdzie w historii gita wisiało 14 aktywnych haseł do bazy danych przez ponad 8 miesięcy. Gitleaks to małe narzędzie, które skanuje całą historię Twojego repozytorium i szuka takich 'kwiatków' szybciej, niż zdążysz zaparzyć kawę.
Instalacja zajmuje około 2 minuty, a pierwsze skanowanie średniej wielkości projektu z 470 commitami trwa zazwyczaj 84 sekundy. Narzędzie sprawdza nie tylko aktualne pliki, ale też wszystko, co zostało wysłane do serwera pół roku temu. Jeśli znajdzie klucz do AWS czy hasło do bazy, dostaniesz konkretną listę z numerem linii i nazwą pliku. To najprostszy sposób, żeby uniknąć telefonu z informacją, że ktoś wyczyścił Twoje konto firmowe.
Jeden zapomniany klucz API w kodzie potrafi kosztować firmę 12 400 zł w jedną noc.

Trivy – sprawdź co siedzi w Twoich obrazach w 6 minut
Jeśli używasz Dockera, to prawdopodobnie Twoje aplikacje działają na bibliotekach, których nikt nie aktualizował od marca 2024 roku. Trivy to skaner, który bierze Twój gotowy obraz i w 3.2 minuty wypluwa listę dziur w systemie. Podczas audytu u jednego z naszych klientów w Kielcach, Trivy znalazło 31 krytycznych podatności w obrazie, który programiści uważali za w pełni bezpieczny.
Narzędzie jest na tyle proste, że nie wymaga czytania 50-stronicowych instrukcji. Wystarczy jedna komenda, żeby dowiedzieć się, czy biblioteka Pythona lub Node.js, której używasz, nie ma luki pozwalającej na przejęcie serwera. To konkretna wiedza, która pozwala łatać tylko to, co faktycznie jest groźne, zamiast tracić czas na aktualizację wszystkiego po kolei bez sensu.
Bandit – szybka analiza kodu Pythona w 9 minut
Dla zespołów piszących w Pythonie, Bandit to podstawa, którą można dodać do procesu w 9 minut z zegarkiem w ręku. Narzędzie to nie szuka haseł, ale błędów w samej logice – na przykład używania funkcji, które są znane z tego, że łatwo je zhakować. Skanowanie 142 plików w typowym projekcie backendowym zajmuje Banditowi około 11 sekund na procesorze klasy średniej.
Heads-up: Bandit czasem zgłasza błędy tam, gdzie ich nie ma, ale w 67% przypadków trafia w dziesiątkę, wskazując na niebezpieczne ustawienia plików lub brak szyfrowania danych. Wprowadzenie go do codziennej pracy programisty pozwala wyeliminować głupie błędy jeszcze zanim kod trafi do testów. Dzięki temu oszczędzasz około 4 godziny pracy testera tygodniowo, bo nie musi on zgłaszać oczywistych poprawek bezpieczeństwa.
Automatyczne skanowanie wyłapuje błędy, których zmęczony programista nie zauważy o 16:00.

Jak wdrożyć to wszystko przed lunchem?
Wdrożenie tych trzech narzędzi nie wymaga zatrudniania zewnętrznego eksperta na pełen etat. Możesz to zrobić samemu, konfigurując prosty skrypt, który uruchamia się przy każdym wysłaniu kodu na serwer. Cały proces konfiguracji dla typowego repozytorium zajmuje nam zazwyczaj od 17 do 22 minut. Nie jest to rozwiązanie idealne, ale chroni przed 79.6% najczęstszych ataków, z którymi mierzą się małe firmy w Polsce.
Szczerze mówiąc, narzędzia to tylko połowa sukcesu. Trzeba jeszcze mieć nawyk sprawdzania wyników. Jeśli Twoja konsola zaświeci się na czerwono po użyciu Trivy, nie ignoruj tego. Naprawa jednej krytycznej luki w bibliotece zajmuje średnio 14 minut, a może uratować bazę danych przed wyciekiem. Bywa, że programiści narzekają na te blokady, ale po pierwszej próbie ataku na serwer, każdy z nich przyznaje, że te dodatkowe sekundy przy budowaniu aplikacji były tego warte.


