- Startsida
- Jobba med oss
- Lediga jobb
- Examensarbete på Bolagsverket
- Säkerhetsreview av merge requests
Examensarbete: Säkerhetsreview av merge requests
När kodgranskning inte räcker till behövs smartare verktyg. Genom att kombinera automatisk kodanalys med mänsklig expertis kan säkerheten i moderna utvecklingsflöden förbättras – utan att öka arbetsbördan. Det här examensarbetet syftar till att ta fram en praktisk lösning som stärker granskningen av kod som är på väg ut i produktion.
Bakgrund
I dagens snabbrörliga utvecklingsmiljöer hanteras mängder av kodändringar varje dag. För att säkerställa att dessa förändringar inte introducerar säkerhetsbrister krävs noggrann kodgranskning – något som kan vara både tidskrävande och svårt att genomföra i detalj för stora kodbaser. Samtidigt finns det idag kraftfulla verktyg för statisk och semantisk kodanalys som kan automatisera delar av granskningen. Genom att kombinera mänsklig expertis med automatiserade verktyg öppnas möjligheter att effektivisera granskningsprocessen utan att tumma på säkerheten.
Problembeskrivning
Manuella kodgranskningar har begränsningar, särskilt när det gäller att upptäcka subtila säkerhetsbrister i stora eller komplexa kodbaser. Samtidigt är det inte önskvärt att helt ersätta den manuella granskningen med automatiska verktyg, då mänsklig kontextförståelse är avgörande i många fall. Problemet är alltså att hitta en balanserad, praktisk metod för att integrera automatiserad kodanalys i befintliga granskningar av merge requests – särskilt för kod som går till produktionsbrancher.
Förslag på mål
- En fristående prototyplösning där automatiserad kodanalys används för att identifiera potentiellt riskfylld kod och peka ut dessa delar för manuell inspektion.
- En utvärdering av vilka verktyg och metoder som ger bäst resultat i praktiken.
- Bonus: En övergripande processbeskrivning för hur detta integreras i ett befintligt CI/CD-flöde.
Metodförslag
- Genomföra en förstudie av olika open-source- och kommersiella verktyg (exempelvis SonarQube, Semgrep, CodeQL, GitHub Advanced Security).
- Skapa ett utvärderingsdataset bestående av kod med kända säkerhetsproblem (exempelvis från OWASP-projektet) samt manuell inläggning av typiska sårbarheter i en testkodbas.
- Utvärdera verktygens precision (false positives/negatives), täckning och användarvänlighet.
- Designa och implementera ett proof of concept som integreras i ett befintligt CI/CD-flöde (exempelvis GitLab CI eller GitHub Actions).
- Sammanställa mätdata som exempelvis upptäckta problem, tid till identifiering, påverkan på granskningsflödet, etc.
- Eventuellt: intervjua utvecklare för att bedöma verktygens praktiska användbarhet.
Område
It-säkerhet, DevSecOps, CI/CD, programvaruteknik, automatisering, statisk analys.
Kompetens
Lämplig för studenter inom:
- Civilingenjör Datateknik.
- Civilingenjör It.
- Civilingenjör Industriell ekonomi (med inriktning mot It eller säkerhet).
- Kandidatutbildning inom datavetenskap.
Förslaget lämpar sig främst för examensarbeten på kandidatnivå, men kan anpassas för masternivå.
Kontakt
Martin Roos och Adam Edlund.
Lyssna