SAST (Static Application Security Testing) to testowanie bezpieczeństwa polegające na automatycznej analizie kodu źródłowego lub skompilowanych plików bez uruchamiania aplikacji. Narzędzie szuka wzorców typowych dla podatności, takich jak wstrzyknięcia SQL czy użycie niebezpiecznych funkcji.
Jak działa SAST?
Skaner buduje model kodu i śledzi przepływ danych od wejścia użytkownika do miejsc wrażliwych, np. zapytania do bazy. Jeśli dane docierają tam bez walidacji i escapowania, zgłasza potencjalną podatność razem ze wskazaniem linii kodu.
Zalety i wady
Zaletą jest wczesne wykrywanie błędów, już w edytorze lub potoku CI, i dokładne wskazanie miejsca w kodzie. Wadą są fałszywe alarmy oraz brak widoczności problemów konfiguracji i środowiska uruchomieniowego, które ujawnia dopiero test dynamiczny.
Przykładowe narzędzia
Do analizy statycznej służą m.in. Semgrep, SonarQube i CodeQL. Najlepsze efekty daje włączenie ich w proces przeglądu kodu, aby podatności były poprawiane przed scaleniem zmian.
Ma to szczególne znaczenie, gdy w projekcie działa automatyczne sprawdzanie szybkości i jakości kodu przed wdrożeniem.
Zobacz w praktyce
Jak automatycznie sprawdzić szybkość i jakość kodu przed wdrożeniem?
Jak zabezpieczyć aplikację przed SQL Injection
Jak zmierzyć i spłacać dług technologiczny w projekcie