A módszertől függően forráskódot, köztes reprezentációkat, bájtkódot vagy lefordított binárisokat vizsgálhat. A technikák a mintaillesztéstől a vezérlésfolyam-, adatfolyam- és taint-elemzésig terjednek, amely a nem megbízható adatot követi nyomon az érzékeny műveletek felé.
Mivel a SAST a szoftver belső reprezentációján dolgozik, a megállapítások gyakran azonosíthatják a fájlt, függvényt és sort vagy kódútvonalat a fejlesztők felülvizsgálatához. Korán és ismételten futtatható egy szerkesztőben, pull requestben vagy buildben. Bizonyítéka azonban modellalapú állítás a kódról — nem bizonyíték arra, hogy a támadó elérheti és kihasználhatja az állapotot a telepített rendszerben.
Legfontosabb pontok
Vizsgált bizonyítékSaját kód vagy lefordított artefaktumok, build-kontextus, nyelvi szemantika és modellezett útvonalak a bemenetek, adattranszformációk és biztonsági szempontból érzékeny műveletek között.
Tipikus megállapításokInjektálási útvonalak, nem biztonságos memóriaműveletek, gyenge kriptográfiai használat, beégetett titkok, nem biztonságos API-k és szervezet által meghatározott kódolási szabályok megsértései.
Helyes üzemeltetésIgazítsa az elemzőket a támogatott nyelvekhez és keretrendszerekhez, őrizze meg a reprodukálható szkennelési beállításokat, validálja a nagy hatású megállapításokat, és táplálja vissza a megerősített hibákat a mérnöki szabványokba.
Fontos korlátA SAST hamis pozitívokat és hamis negatívokat produkálhat. Jellemzően hiányzik belőle a telepítési konfiguráció, futásidejű állapot, külső szolgáltatási viselkedés és elegendő üzleti kontextus sok jogosítási vagy munkafolyamat-hiba azonosításához.