W zależności od metody może inspektować kod źródłowy, reprezentacje pośrednie, kod bajtowy lub skompilowane pliki binarne. Techniki obejmują dopasowanie wzorców po analizę przepływu sterowania, przepływu danych i taint analysis, która śledzi niezaufane dane w stronę wrażliwych operacji.
Ponieważ SAST działa na wewnętrznej reprezentacji oprogramowania, wyniki często mogą identyfikować plik, funkcję i linię lub ścieżkę kodu do przeglądu przez deweloperów. Może działać wcześnie i wielokrotnie w edytorze, pull requestcie lub budowie. Jego dowody są jednak opartym na modelu twierdzeniem o kodzie — nie dowodem, że atakujący może osiągnąć i wykorzystać warunek we wdrożonym systemie.
Najważniejsze punkty
Badane dowodyKod własny lub skompilowane artefakty, kontekst budowy, semantyka języka oraz modelowane ścieżki między wejściami, transformacjami danych a operacjami wrażliwymi dla bezpieczeństwa.
Typowe wynikiŚcieżki injection, niebezpieczne operacje pamięci, słabe użycie kryptografii, zakodowane na stałe sekrety, niebezpieczne API i naruszenia zdefiniowanych przez organizację reguł kodowania.
Dobra eksploatacjaDopasuj analizatory do obsługiwanych języków i frameworków, zachowuj powtarzalne ustawienia skanowania, waliduj wyniki o dużym wpływie i kieruj potwierdzone defekty do standardów inżynieryjnych.
Istotne ograniczenieSAST może dawać fałszywe pozytywy i negatywy. Zwykle brakuje mu konfiguracji wdrożenia, stanu runtime, zachowania usług zewnętrznych i wystarczającego kontekstu biznesowego do zidentyfikowania wielu wad autoryzacji lub przepływu pracy.