Een pentest is grondig en duur, een automatische scan is snel en continu. Dit is wat een pentest precies is, welke soorten er zijn, hoe het proces verloopt, wat het kost en wanneer je wat nodig hebt — zeker bij een app die met AI is gebouwd.
Wat is een pentest?
Een pentest (voluit: penetratietest) is een gecontroleerde aanval op je applicatie. Een ethische hacker probeert, met jouw toestemming, binnen te komen zoals een echte aanvaller dat zou doen: inloggen als iemand anders, data opvragen die niet van hem is, betalingen manipuleren of de server overnemen. Niet om schade te maken, maar om te laten zien wat er kan.
Je krijgt een rapport met elke gevonden kwetsbaarheid, hoe ernstig die is, hoe de tester hem heeft misbruikt en wat je moet doen om hem te dichten. Dat rapport is het eigenlijke product van een pentest: het is wat klanten, partners en verzekeraars willen zien.
Belangrijk om te weten: een pentest is een momentopname. Hij zegt iets over je app op de dag van de test. Push je de week erna nieuwe code, dan is het risico veranderd en zegt het rapport daar niets over.
Pentest laten uitvoeren: wie test je app?
Een pentest laat je uitvoeren door een ethische hacker: een beveiligingsspecialist die met jouw schriftelijke toestemming aanvalt, binnen grenzen die je vooraf afspreekt. Meestal is dat iemand van een gespecialiseerd securitybedrijf, soms een freelance tester. Het verschil met een echte aanvaller zit niet in de technieken, maar in de toestemming, de afspraken en het rapport dat je na afloop krijgt.
Je geeft de tester toegang tot je app en je data, dus vertrouwen weegt net zo zwaar als kunde. Let bij het kiezen op deze punten:
- Certificeringen van de testers zelf, zoals OSCP, OSWE, CREST of eWPT. Daarvoor moet iemand in de praktijk systemen hebben aangevallen, niet alleen een theorie-examen hebben gehaald.
- Een keurmerk voor het bedrijf. In Nederland is dat vooral het CCV-keurmerk Pentesten van het Centrum voor Criminaliteitspreventie en Veiligheid. Daarvoor moeten de pentesters een erkend persoonscertificaat hebben en toetst een onafhankelijke certificeerder (DEKRA, DigiTrust of Kiwa) het bedrijf elk jaar. Veel klanten vragen daarnaast om een leverancier met ISO 27001.
- Een vaste methode, zoals de OWASP Web Security Testing Guide of PTES. Dan weet je wat er getest is en kun je de test later herhalen.
- Goede afspraken over geheimhouding en je data: een geheimhoudingsverklaring, en een verwerkersovereenkomst als de tester persoonsgegevens kan inzien.
- Onafhankelijkheid. Wie je app heeft gebouwd, kan hem niet geloofwaardig zelf pentesten. Een rapport voor klanten of verzekeraars moet van een externe partij komen.
Soorten pentests: black box pentest, grey box en white box
Pentests verschillen vooral in hoeveel de tester vooraf van je app weet. Dat bepaalt wat hij kan vinden, hoe lang het duurt en dus wat het kost.
- Black box: de tester weet niets en krijgt alleen de URL. Dit lijkt het meest op een echte aanval van buitenaf, maar de tester besteedt veel tijd aan verkennen en mist dingen die alleen met een account zichtbaar zijn.
- Grey box: de tester krijgt een gewoon gebruikersaccount en wat uitleg over hoe de app werkt. Dit is voor de meeste web-apps de beste keuze: realistisch, maar efficiënt genoeg om ook de logica achter de login te testen.
- White box: de tester krijgt volledige toegang, inclusief broncode, databaseschema en configuratie. Het grondigst en het duurst, en vooral zinvol als je echt zeker wilt weten dat er geen fouten in de code zitten.
- Daarnaast verschilt de scope: een webapplicatie-pentest richt zich op je app en API, een infrastructuur-pentest op servers en netwerk, en een mobiele pentest op de iOS- of Android-app.
Voor een app die met Lovable, Cursor of Bolt is gebouwd, is een grey box-test van de webapplicatie bijna altijd het vertrekpunt. Lees ook waar het bij de beveiliging van AI-code structureel misgaat.
Hoe een pentest verloopt, stap voor stap
Reken voor een gemiddelde web-app op drie tot tien testdagen, verspreid over twee tot vier weken inclusief rapportage. Een hertest komt daar meestal een paar weken later achteraan.
- 1. Scope en afspraken. Je spreekt af wat er wél en niet getest wordt, wanneer, en hoe de tester contact opneemt als hij iets ernstigs vindt. Je tekent een vrijwaring, want zonder toestemming is hacken strafbaar.
- 2. Verkenning. De tester brengt je app in kaart: welke pagina's, formulieren, API-endpoints en externe diensten zijn er, en welke techniek zit erachter.
- 3. Testen. Handmatig en met tools zoekt de tester naar kwetsbaarheden: lekkende sleutels, ontbrekende autorisatie, injecties, zwakke sessie-afhandeling, open databaseregels. Dit is het grootste deel van het werk.
- 4. Uitbuiten. Gevonden gaten worden gecontroleerd misbruikt om te bewijzen wat de echte impact is: kan ik bij andermans data, kan ik betalingen aanpassen, kan ik beheerder worden?
- 5. Rapport. Je krijgt een document met de bevindingen, gerangschikt op ernst, met reproductiestappen en concrete aanbevelingen. Vaak met een managementsamenvatting voor niet-technische lezers.
- 6. Herstel en hertest. Je lost de bevindingen op en de tester controleert of de fixes werken. Vraag vooraf of die hertest is inbegrepen, want zonder hertest weet je niet of je rapport nu schoon is.
Wat staat er in een pentestrapport?
Het rapport is wat je na een pentest overhoudt, dus het loont om vooraf te weten wat erin hoort. Een goed pentestrapport bevat:
- Een managementsamenvatting: in gewone taal hoe je app ervoor staat, wat de grootste risico's zijn en wat er eerst moet gebeuren.
- Scope en methode: wat er wel en niet is getest, in welke periode, met welk soort account en volgens welke methode.
- De bevindingen, elk met een ernst (vaak als CVSS-score: kritiek, hoog, middel of laag), de impact en bewijs zoals schermafbeeldingen of de verzoeken die de tester verstuurde.
- Reproductiestappen, zodat jij, je ontwikkelaar of je AI-tool de fout kan nadoen en na het herstel kan controleren.
- Een concrete aanbeveling per bevinding: wat je moet aanpassen, niet alleen wat er mis is.
- Na de hertest: per bevinding of hij is opgelost. Dat is de versie die je aan klanten en verzekeraars laat zien.
Hoe lang duurt het? Het rapport komt meestal binnen een tot twee weken na de laatste testdag. Tel je de wachttijd tot er een tester vrij is erbij op, dan zit er vaak een maand of twee tussen het eerste gesprek en het definitieve rapport. Ernstige gaten horen niet op het rapport te wachten: spreek af dat de tester die meteen meldt.
Pentest of automatische scan: wat is het verschil?
Een automatische scan draait bij elke wijziging en kijkt naar alles wat zich geautomatiseerd laat controleren: sleutels in je code, kwetsbare pakketten, open databaseregels, ontbrekende inlogcontroles, verkeerde configuratie. Hij is snel, goedkoop en continu, maar hij denkt niet na over jouw specifieke app.
Een pentester doet precies dat wél. Hij ziet dat een gebruiker het order-id in de URL kan aanpassen en zo andermans bestelling kan inzien, of dat je kortingscode twee keer kan worden ingewisseld. Zulke logische fouten vindt een scanner niet, want ze zijn geen bekend patroon.
- Scan: continu, bij elke push, in minuten klaar, vindt bekende fouten en vergeten instellingen.
- Pentest: eenmalig, gepland, dagen werk, vindt logische fouten en aanvalsketens in jouw app.
- Scan: geschikt om elke dag mee te werken terwijl je bouwt.
- Pentest: geschikt als bewijs naar buiten en als controle vlak voor of na een belangrijke livegang.
Ze vullen elkaar aan: de scan houdt het laaghangend fruit weg, de pentest zoekt wat overblijft. Bij securityplatformen vergelijken is dat ook het verschil dat telt.
Wanneer kies je wat?
- Je app verandert nog dagelijks: begin met continu scannen. Een pentest van vandaag is volgende week verouderd.
- Je gaat live met echte klantgegevens of betalingen: plan een pentest, bij voorkeur een paar weken voor de livegang zodat je tijd hebt om te herstellen.
- Een klant, partner of verzekeraar vraagt om bewijs: dan is een pentestrapport meestal wat ze bedoelen.
- Je moet voldoen aan een norm (ISO 27001, NEN 7510, DigiD, PCI DSS): die vragen om periodiek testen, en een pentest is daar de gebruikelijke invulling.
- Budget is beperkt: haal eerst met scannen het laaghangend fruit weg, zodat je een pentest niet betaalt voor fouten die je zelf had kunnen vinden.
Is een pentest verplicht? NIS2 en compliance
Er is geen wet die letterlijk zegt dat elke app een pentest moet hebben. Maar steeds meer regels eisen dat je aantoonbaar test of je beveiliging werkt, en een pentest is daarvoor het gebruikelijke bewijs.
- NIS2: de Europese cyberrichtlijn, in Nederland uitgewerkt in de Cyberbeveiligingswet, die sinds 15 augustus 2026 geldt. Organisaties in achttien sectoren, waaronder de zorg, energie, drinkwater, vervoer, overheid en digitale infrastructuur, moeten passende maatregelen nemen en beoordelen of die werken. Ben je zelf niet NIS2-plichtig maar lever je software aan een organisatie die dat wel is, dan komen die eisen via je klant alsnog bij jou terecht.
- AVG: artikel 32 vraagt om een procedure om je beveiligingsmaatregelen regelmatig te testen, te beoordelen en te evalueren. Verwerk je persoonsgegevens, dan is een pentest een sterke manier om dat aan te tonen.
- DORA: banken, verzekeraars en andere financiële partijen moeten hun systemen regelmatig testen. De partijen die de toezichthouder aanwijst, doen minstens elke drie jaar een zogeheten threat-led pentest, ook op functies die ze bij ICT-leveranciers hebben uitbesteed. Die leveranciers doen dan mee aan de test.
- Normen: PCI DSS eist een pentest per jaar en na elke grote wijziging als je kaartgegevens verwerkt. De DigiD-norm van Logius vraagt om periodieke pentests en kwetsbaarheidsscans, en een IT-auditor toetst dat elk jaar. ISO 27001 en de zorgvariant NEN 7510 vragen om beveiligingstesten en kwetsbaarheidsbeheer; een pentest is daar niet letterlijk verplicht, maar wel de gebruikelijke manier om het aan te tonen.
- Contracten en aanbestedingen: klanten en overheden vragen steeds vaker om een recent pentestrapport, en cyberverzekeraars doen dat bij het afsluiten van een polis.
Hoe vaak moet je een pentest laten doen?
De vuistregel is minstens één keer per jaar, plus na elke grote wijziging: een nieuwe inlogmethode, betalingen, een nieuwe API, andere hosting of een nieuwe manier van omgaan met persoonsgegevens. PCI DSS schrijft precies dat voor, en veel klanten en verzekeraars hanteren dezelfde lijn.
Een app die je met AI bouwt, verandert alleen veel vaker dan één keer per jaar. Met alleen een jaarlijkse pentest blijft de code van de andere elf maanden ongetest. Daarom combineer je de twee:
- Jaarlijks: de basis voor de meeste web-apps met klantgegevens.
- Elk half jaar of elk kwartaal: bij betalingen, gezondheidsgegevens of een app die vaak en ingrijpend verandert.
- Eenmalig extra: vóór een belangrijke livegang of na een grote verbouwing.
- Continu: een automatische scan bij elke wijziging, zodat nieuwe fouten tussen twee pentests niet blijven liggen.
Pentest kosten: wat betaal je voor een pentest?
Pentests worden bijna altijd per dag gerekend. In Nederland ligt een dagtarief voor een ervaren tester doorgaans tussen de 1.000 en 1.500 euro. Een kleine webapplicatie met een handvol schermen en een API zit vaak op drie tot vijf dagen, een grotere app met meerdere rollen, koppelingen en betalingen op acht tot vijftien dagen.
Reken voor een eenvoudige app dus grofweg op 3.000 tot 7.500 euro, en voor een complexere app op 10.000 euro of meer. Een black box-test is niet per se goedkoper: de tester heeft meer tijd nodig om te verkennen. Automatische scans kosten een fractie daarvan en draaien continu.
Vraag bij elke offerte naar vier dingen: de exacte scope, het aantal testdagen, de doorlooptijd, en of een hertest na herstel is inbegrepen. Dat laatste bepaalt vaak of het rapport iets oplevert.
Bereid je voor voordat je een pentest inkoopt
Elke bevinding die de tester doet, kost een deel van zijn tijd. Vindt hij op dag één een gelekte sleutel en een tabel zonder databaseregels, dan betaal je dure uren voor fouten die een scanner in twee minuten had gevonden. Ruim daarom eerst zelf op:
- Zet row level security aan op elke tabel en controleer de policies.
- Haal sleutels uit je frontend en roteer alles wat ooit in je git-historie stond.
- Werk je pakketten bij en los bekende kwetsbaarheden op.
- Controleer of elke server-functie de aanroeper echt valideert.
- Zorg dat je weet welke data je bewaart en wie erbij kan.
Gebruik de OWASP top 10 als leidraad om zelf te checken of je app veilig is, en loop de checklist voor veilig live zetten door.
Veelgestelde vragen over pentests
Wat is een pentest precies?
Een pentest is een geplande, toegestane aanval op je app door een ethische hacker. Het doel is kwetsbaarheden vinden en bewijzen wat een aanvaller ermee kan, voordat een echte aanvaller dat doet. Het resultaat is een rapport met bevindingen en aanbevelingen.
Wie voert een pentest uit?
Een ethische hacker, meestal van een gespecialiseerd securitybedrijf. Let op certificeringen zoals OSCP of CREST, een keurmerk zoals het CCV-keurmerk Pentesten en goede afspraken over geheimhouding. De tester moet onafhankelijk zijn van wie de app heeft gebouwd.
Wat staat er in een pentestrapport?
Een managementsamenvatting, de scope en methode, en per bevinding de ernst, het bewijs, de reproductiestappen en een aanbeveling. Na de hertest staat per bevinding vermeld of hij is opgelost.
Wat is het verschil tussen een pentest en een vulnerability scan?
Een vulnerability scan is geautomatiseerd en zoekt naar bekende fouten en instellingen, continu en goedkoop. Een pentest is mensenwerk: een tester zoekt ook naar logische fouten die specifiek zijn voor jouw app en koppelt ze aan elkaar tot een echte aanval.
Is een pentest verplicht?
Zelden letterlijk, maar NIS2 (in Nederland de Cyberbeveiligingswet), de AVG en DORA vragen wel dat je aantoonbaar test of je beveiliging werkt, en een pentest is daarvoor het gebruikelijke bewijs. PCI DSS eist een jaarlijkse pentest en de DigiD-norm vraagt om periodieke pentests. Bij ISO 27001, NEN 7510 en veel aanbestedingen is het in de praktijk een voorwaarde.
Hoe vaak moet ik een pentest laten doen?
Gebruikelijk is jaarlijks, plus na een grote wijziging in de architectuur of in hoe je met gegevens omgaat. Tussendoor houd je met continu scannen zicht op nieuwe fouten.
Hoe lang duurt een pentest?
Voor een gemiddelde web-app drie tot tien testdagen. Met voorbereiding, rapportage en hertest reken je op twee tot vier weken doorlooptijd.
Wat kost een pentest?
Meestal 1.000 tot 1.500 euro per testdag. Een kleine webapplicatie komt daarmee grofweg op 3.000 tot 7.500 euro, een grotere app op 10.000 euro of meer. Vraag altijd of de hertest is inbegrepen.
Wat is het verschil tussen black box, grey box en white box?
Het verschil is hoeveel de tester vooraf weet. Black box: niets, alleen de URL. Grey box: een gebruikersaccount en uitleg. White box: volledige toegang inclusief broncode. Voor de meeste web-apps is grey box de beste verhouding tussen realisme en diepgang.
Kan een automatische scan een pentest vervangen?
Niet volledig. Een scan vindt bekende fouten, een tester vindt logische fouten in jouw specifieke app. Ze vullen elkaar aan: scan continu, pentest op de momenten dat het ertoe doet.
Mag ik zelf een pentest op mijn app doen?
Op je eigen app mag dat, zolang je niet per ongeluk diensten van anderen raakt. Maar een rapport voor klanten of verzekeraars moet van een onafhankelijke partij komen. Zelf testen is wel een goede voorbereiding.
Wat doet VibeShield hierin?
VibeShield is de continue laag: bij elke wijziging controleren we je repo en je Supabase-instellingen, zodat je niet met vermijdbare fouten een pentest ingaat en het rapport over de echte risico's gaat.