AI- och riskbaserad sårbarhetshantering för pålitlig användning av öppen källkod

Syfte och mål

Existerande verktyg för sårbarhetsskanning av källkod utför statisk analys och genererar många falska larm, ofta relaterade till använda bibliotek men specifik kod som aldrig anropas. Detta leder lätt till ett “pojken och vargen”-fenomen där även kritiska sårbarheter som kan utnyttjas ignoreras. ARVOS mål är att göra sårbarhetsskanning mer relevant, dels genom ökad precision (enbart generera larm för sårbarheter som kan utnyttjas), dels detektering av sårbar kod under exekvering.

Resultat och förväntade effekter

Baserad på den utvecklade funktionaliteten utfördes två typer av användarintervjuer. Javautvecklare ombads använda ARVOS för att åtgärda sårbarheter (med viss hjälp från projekt-teamet). Intervjuerna bekräftade att:
1) ARVOS är lättanvänt tack vare integrationer med GitHub och GitLab
2) ARVOS är lätt att förstå – utvecklare kunde omedelbart åtgärda sårbarheter, samt att
3) ARVOS medför en acceptabel overhead prestandamässigt.

Upplägg och genomförande

ARVOS består av två delar. Debricked har utvecklat en modul som läser av kodändringar i git och bygger en utökad databas som beskriver sårbara funktioner (CVEs). Enbart sårbara funktioner som faktiskt anropas anses utgöra ett hot. Elastisys har utvecklat ett verktyg baserat på eBPF-tekniken för att övervaka om utvecklad kod (via en pipeline) anropar sårbara funktioner. Integration har gjorts med två mycket populära verktyg (pipelines) för kontinuerlig integration: GitHub Actions och GitLab CI.

Fakta om projektet

Koordinator: Elastisys AB
Deltagare: Elastisys AB, Debricked AB
Stödnivåer: 80%
Status: Avslutat