Hopp til hovedinnhold

Statisk kodeanalyse

Statisk analyse (SAST) kan være nyttig for å oppdage feil i egen kode. Slike verktøy kan oppdage en rekke sårbarheter som er lavthengende, men som likevel ofte er lett å introdusere. For eksempel:

  • Injisering: ikke verifisert eller usanert input puttes rett inn i databasespørringer istedenfor at det benyttes parameteriserte spørringer
  • Logiske feil
    • if-statements som alltid gir samme resultat
    • manglende autentiseringssjekk på et eksponert API-endepunkt

Slike statiske skanninger er raske i og med at de utføres rett på kildekoden, og trenger ikke tilgang til en instans av en kjørende app. De egner seg derfor for hyppig kjøring, f.eks. som en del av bygg-og-deploy pipelines på GitHub.

Ulempen med SAST-verktøy er at de kun kan identifisere et svært begrenset sett av feil, og siden de ikke har konteksten til en kjørende app (med bl.a. konfigurasjon) kan de produsere mange tilfeller av falsk positive resultater.

Verktøy

Det finnes flere mulige verktøy, men flere i NAV bruker og anbefaler disse:

GitHub Security gir deg i tillegg tilgang til å integrere mot en rekke SAST-verktøy. Hos OWASP finner man en liste med andre verktøy man kan teste.

Savner du noe?

Legg det inn selv på GitHub, si ifra i #security-champion, eller kontakt redaksjonen. Takk! 💖