Acme Dashboard

Scanrapport · 12-4-2026, 13:06:55 · PASSIVE

74
Overall score
72
Security
68
Accessibility
80
Configuratie
90
SaaS flow
5
Findings
staging
Environment
Handmatig
Schedule

Ernst-verdeling

HIGH 2MEDIUM 3

Findings (5)

HIGH#1

Ontbrekende Content-Security-Policy header

De applicatie stuurt geen Content-Security-Policy header. Zonder CSP kan een eventuele XSS vrijwel ongehinderd scripts uitvoeren in de browser.

https://app.acme.example/

OWASP: A05:2021-Security Misconfiguration

Impact

Verhoogt de impact van elke XSS-kwetsbaarheid aanzienlijk en maakt supply-chain risico (bijv. een gekaapt third-party script) moeilijker te beperken.

Aanbeveling

Voeg een Content-Security-Policy header toe, te beginnen met een strikte basis zoals: `default-src 'self'; script-src 'self'; frame-ancestors 'none'; base-uri 'self'`. Breid uit op basis van wat je daadwerkelijk nodig hebt en test stap voor stap met `Content-Security-Policy-Report-Only`.

HIGH#2

Session-achtige cookie `sid` zonder HttpOnly

De cookie ziet er uit als een sessiecookie maar kan door JavaScript worden uitgelezen. Een XSS kan daardoor direct de sessie overnemen.

https://app.acme.example/

OWASP: A07:2021-Identification and Authentication Failures

Impact

Een XSS-kwetsbaarheid wordt vrijwel gelijk aan een volledige accountovername voor ingelogde gebruikers.

Aanbeveling

Zet HttpOnly op alle session-/auth-cookies. Frontend code moet nooit direct bij het session token kunnen.

MEDIUM#3

Icon-button zonder aria-label op de topbar

De zoek-knop in de topbar heeft geen toegankelijke naam. Schermlezer-gebruikers horen alleen "button".

https://app.acme.example/ → header > button.icon-search

WCAG 4.1.2 Naam, rol, waarde (A)

Impact

Icon-only knoppen zonder aria-label zijn onbruikbaar voor blinde of slechtziende gebruikers.

Aanbeveling

Voeg aria-label="Zoek" toe aan de knop, of geef hem een verborgen tekstlabel.

<button aria-label="Zoek">
  <SearchIcon aria-hidden="true" />
</button>
MEDIUM#4

<html> zonder lang-attribuut

De <html> tag heeft geen lang-attribuut.

https://app.acme.example/ → html

WCAG 3.1.1 Taal van pagina (A)

Impact

Gebruikers van schermlezers horen woorden met de verkeerde uitspraakregels.

Aanbeveling

Voeg <html lang="nl"> (of de juiste taalcode) toe in je root layout.

MEDIUM#5

Webhook documentatie toont HTTP voorbeeld

De webhook-configuratiepagina toont een http://-URL als voorbeeld. Klanten kopiëren zulke voorbeelden makkelijk naar productie.

https://app.acme.example/settings/webhooks

OWASP: A02:2021-Cryptographic Failures

Impact

Event-payloads kunnen ongewenst via HTTP lekken.

Aanbeveling

Gebruik alleen HTTPS-voorbeelden en valideer het protocol server-side.