# Pentest-scope Billver v1.0 (werktitel)

Doel: onafhankelijke beoordeling vóór de eerste echte pilot. Uit te voeren door een externe partij; deze scope vervangt geen pentest.

## In scope
1. **Publieke verificatie** `/v/<token>`, `/verifieer`: token-enumeratie, timing-verschillen tussen onbekend/ingetrokken/geldig, omzeilen van de extra check (proof-of-work + HMAC-challenge) voor volledig IBAN, rate-limits, uploads (misvormde PDF's, zip-bombs, >15 MB, polyglots).
2. **REST API** `/api/public/v1/invoices`, `/invoices/prepare`, `/invoices/{id}`, `/events`: API-key-misbruik, scope-escalatie, ingetrokken sleutels, cross-tenant toegang via id's, idempotency-misbruik (zelfde sleutel/andere PDF, gelijktijdige finalize), cursor-manipulatie.
3. **Webhooks**: SSRF via endpoint-URL (DNS-rebinding, redirects, IPv6), handtekening-vervalsing, replay.
4. **Dashboard / auth**: tenant-isolatie (RLS) tussen organisaties, rolescalatie user→admin→owner, wijzigen van canonieke velden of hash na registratie, heractiveren van ingetrokken IBAN's/sleutels, verwijderen van facturen buiten development-modus.
5. **Bewijsintegriteit**: kan een geregistreerd origineel, hash, betaal-QR-payload of auditregel worden aangepast of verwijderd?
6. **QR/PDF-engine**: valse/meervoudige betaal-QR's, tekst-IBAN vs QR-IBAN, verborgen tekstlagen, incrementele PDF-updates.
7. **AI-functies**: prompt-injectie via PDF-inhoud (AI is enkel adviserend en mag nooit status of goedkeuring wijzigen).

## Buiten scope
Infrastructuur van de hostingprovider, social engineering, DoS op volume.

## Bekende risico's (zie integratiedossier R1–R9)
R1 replay geeft `protected:true` ongeacht status · R2 gelijktijdige finalize zonder reservatie · R4 admin kan ingetrokken API-sleutel herstellen · R5 rate-limit faalt open · R6 geen geplande webhook-retry · R7 `/verifieer` zonder token zoekt over tenants · R8 open BLOCKED-finding zet `protected` niet op false.

## Testomgeving
Aparte organisatie(s) in development-modus, testfacturen (Vedelek demo, TB Consultancy test). Geen echte klantgegevens.

## Rapportering
Per bevinding: CVSS, reproductiestappen, impact op bewijsintegriteit of betaalgegevens, advies. Hertest na fixes.
