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¶

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¶

3.2 Screenshot – Overzicht 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¶

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("*")inCorsConfig.java) - Security headers ontbreken (CSP, X-Frame-Options in
nuxt.config.ts)
Goed geïmplementeerd:
- Input validatie (A05 - Injection):
@Validannotations 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.