Skip to content

Deelvraag 2 – Bevat de broncode kwetsbaarheden?

Terug naar hoofddocument | Deelvraag 2 - Static Program Analysis

Methode: Static Program Analysis (automatisch codeonderzoek)
Tools: SonarQube (backend + frontend), ESLint (frontend)

Dit is de uitgebreide uitwerking van Deelvraag 2: "Welke kwetsbaarheden gerelateerd aan datalekken en injectie-aanvallen komen naar voren bij statische analyse van de broncode?"
In het hoofddocument vind je: Een samenvatting van de resultaten.
Op deze pagina vind je: SonarQube screenshots, ESLint resultaten en gedetailleerde code-analyses.

Dit document beschrijft de uitkomsten van het automatische codeonderzoek op de backend en frontend.


1. Aanpak

  • Backend (Spring Boot API)
  • Gecontroleerd met SonarQube.
  • Let vooral op: mogelijke fouten in de code en instellingen die onveilig kunnen zijn.
  • Frontend (Nuxt 4)
  • Gecontroleerd met SonarQube en ESLint.
  • Let vooral op: onveilige manier van met de DOM werken, mogelijke XSS‑risico’s en slordige stukken code.

Deelvraag:

Deelvraag 2 – Bevat de broncode kwetsbaarheden?
Methode: Static Program Analysis – Tools: SonarQube / ESLint


2. SonarQube – Backend (Spring Boot)

2.1 Screenshot

SonarQube backend issues

2.2 Korte uitleg

  • De scan laat zien welke punten op de Spring Boot backend aandacht nodig hebben.
  • SonarQube deelt bevindingen in zoals: fouten in de code, mogelijke beveiligingsproblemen en minder nette code.
  • In de screenshot is te zien dat er een paar punten zijn gevonden die verbeterd kunnen worden.

2.3 Analyse in relatie tot deelvraag 2

  • Er zijn geen directe, ernstige injectie‑problemen gevonden (zoals ruwe SQL‑queries).
  • Er zijn wel problemen met instellingen die bij OWASP A02 – Security Misconfiguration horen (zoals te ruime CORS‑instellingen en ontbrekende headers).
  • De backend is in de basis in orde, maar SonarQube laat duidelijk zien waar de code en instellingen nog veiliger en netter gemaakt kunnen worden.

Samenvatting backend: Geen duidelijke, zware injectieproblemen, wel meerdere instellingen en stukken code die verbeterd moeten worden voor een betere beveiliging.


3. SonarQube – Frontend (Nuxt 4)

3.1 Screenshot – Frontend issues

SonarQube frontend issues

3.2 Screenshot – Overzicht beide projecten

SonarQube beide projecten

3.3 Korte uitleg

  • De frontend is in SonarQube als apart project toegevoegd.
  • De screenshots laten zien dat SonarQube in de Nuxt‑code vooral punten vindt die met overbodige code en kwaliteit checks
  • SonarQube markeert geen XSS‑problemen als direct beveiligingslek.

3.4 Analyse in relatie tot deelvraag 2

  • De scan laat zien dat de frontend geen duidelijke, zware kwetsbaarheden bevat volgens de ingestelde regels.
  • Wel zijn er delen van de code die netter en duidelijker geschreven kunnen worden. Dit verkleint de kans op fouten in de toekomst.

Samenvatting frontend (SonarQube): De Nuxt‑code bevat vooral verbeterpunten voor kwaliteit, maar geen direct als "beveiligingslek" gemarkeerde problemen.


4. ESLint Security Analyse – Frontend

4.1 Screenshot

ESLint security waarschuwing

4.2 Korte uitleg

  • ESLint is uitgebreid met extra regels voor beveiliging.
  • De screenshot laat zien dat er minstens één beveiligingswaarschuwing actief is in de Nuxt‑code.
  • ESLint let onder andere op:
  • gevaarlijke situaties waarbij invoer van gebruikers (bijvoorbeeld uit een inputveld) direct als code of HTML wordt uitgevoerd,
  • riskante DOM‑manipulatie, (bijvoorbeeld het manipuleren van de DOM met JavaScript in een v-html)
  • mogelijk onveilige dingen zoals hardcoded wachtwoorden of sleutels.

4.3 Analyse in relatie tot deelvraag 2

  • Door ESLint met security‑regels te gebruiken, worden mogelijke problemen al tijdens het programmeren zichtbaar.
  • De waarschuwingen in de scan zijn geen directe aanval, maar laten zien waar de code beter en veiliger gemaakt kan worden.

Samenvatting ESLint: ESLint helpt om onveilige manieren van programmeren vroeg te zien en is daarmee een goede aanvulling op SonarQube.


5. Conclusie

Deelvraag 2: "Welke kwetsbaarheden gerelateerd aan datalekken en injectie-aanvallen komen naar voren bij statische analyse van de broncode?"

Antwoord op Deelvraag 2

De statische code-analyse heeft de volgende kwetsbaarheden gevonden:

Gevonden kwetsbaarheden (A02 - Security Misconfiguration):

  • CORS te permissief ingesteld (allowedOriginPatterns("*") in CorsConfig.java)
  • Security headers ontbreken (CSP, X-Frame-Options in nuxt.config.ts)

Goed geïmplementeerd:

  • Input validatie (A05 - Injection): @Valid annotations en parameterized queries
  • Exception handling (A10): Error handling correct geïmplementeerd

Conclusie: De statische analyse toont aan dat injectie-aanvallen (A05) goed zijn afgedekt, maar dat er kwetsbaarheden zijn gevonden op het gebied van security configuratie (A02) die kunnen leiden tot datalekken.