Een audit van AI-code is een onafhankelijke beoordeling van een codebase — door AI gegenereerd of met de hand geschreven — die hem nakijkt op beveiligingslekken, zwakke plekken in de architectuur en gaten in de gereedheid voor productie, voordat echte gebruikers ze vinden. Ze eindigt met een rapport waarin bevindingen op ernst zijn gerangschikt en met een helder pad om te herstellen wat eruit komt.
Het meeste van wat we tegenwoordig beoordelen begon in Cursor, Bolt, Lovable, Claude of ChatGPT — snel om te prototypen, zelden productieklaar op dag één. Maar de audit zelf beperkt zich niet tot wat AI oplevert: dezelfde risicocategorieën en hetzelfde proces gelden voor een codebase waar niemand AI voor gebruikte. Of je nu een team bent dat snel oplevert met AI-tools en een controle wil vóór de volgende release, of een oprichter die een met AI gebouwde app erfde en moet weten wat erin zit — je krijgt dezelfde audit.
Wat we beoordelen
Zeven categorieën, elke keer — niet alleen de beveiligingsscan waar de meeste tools voor het beoordelen van AI-code bij ophouden.
Wat elke audit dekt
Beveiliging
Kwetsbaarheden uit de OWASP Top 10, injectieaanvallen, omzeilen van authenticatie, blootgestelde geheimen en onveilige gegevensopslag.
Architectuur
Servicegrenzen, gegevensstromen en koppeling — of het ontwerp standhoudt bij echte gebruikers en echte belasting.
Prestaties
Trage databaseopvragingen, N+1-problemen, geheugenlekken en capaciteit onder productieverkeer.
Correctheid
Bedrijfslogica, randgevallen, en de bugs die pas opduiken zodra echte data het systeem raakt.
Afhankelijkheden
Verouderde pakketten, bekende kwetsbaarheden en licentierisico in de afhankelijkhedenboom.
Testdekking
Wat er getest is, wat niet, en wat stilletjes breekt zodra het de volgende keer verandert.
Geurtjes van AI-code
Gedupliceerde logica, verzonnen API-aanroepen, en de inconsistente patronen die een onbewaakte agent achterlaat.
Wat je krijgt
Een audit is geen pdf die in een la belandt. Er komen drie dingen uit.
Wat de audit oplevert
Rapport met bevindingen
Elk punt gerangschikt op ernst — kritiek, hoog, gemiddeld, laag — met een uitleg van het risico in gewone taal en een concrete oplossing.
Voorbeeldrapport
Een geanonimiseerd voorbeeld van een echte audit, zodat je precies ziet waarvoor je betaalt voordat je ons code stuurt.
Gesprek over herstel
Een doorloop van elke bevinding met onze engineers, en een helder antwoord op wat je als eerste moet aanpakken.
Bekijk een voorbeeld voordat je je verbindt
Wil je zien hoe een echte bevinding eruitziet — ernst, risico-uitleg, oplossing — voordat je ons je code stuurt? Vraag een geanonimiseerd voorbeeldrapport aan en we sturen er een op.
Twee manieren om te beginnen
Mensen komen om een van twee redenen bij ons voor een audit. Het rapport ziet er hoe dan ook hetzelfde uit — wat verschilt is waar we beginnen te kijken.
Een met AI of op gevoel gebouwde app beoordelen
Jij (of een niet-technische oprichter, of een ingehuurde bouwer) gebruikte Cursor, Bolt, Lovable, Claude of ChatGPT om iets te bouwen dat werkt — het demonstreert goed, vroege gebruikers vinden het prettig, en nu moet het het contact met de echte wereld overleven. We beginnen waar deze tools consequent falen: hardgecodeerde geheimen, authenticatie die het vakje afvinkt maar niet het verzoek, en API-gebruik dat nooit met een budget in gedachten is gebouwd. Ons draaiboek voor precies deze overdracht staat in Een met AI gebouwd prototype naar productie brengen.
AI-versnelde audit van elke codebase
Je codebase hoeft niet door AI gegenereerd te zijn om hiervoor in aanmerking te komen. We draaien dezelfde geautomatiseerde analyse — statische analyse, scannen van afhankelijkheden, opsporen van geheimen — tegen elke stack, met of zonder AI gebouwd, en dat is wat ons in staat stelt een audit in weken af te ronden in plaats van in maanden. De handmatige beoordeling daarbovenop is waar onze engineers je architectuur en bedrijfslogica werkelijk lezen; de automatisering zorgt er alleen voor dat minder van het budget opgaat aan met de hand het voor de hand liggende zoeken.
Wat er misgaat in door AI gegenereerde code
We hebben tientallen door AI gegenereerde codebases beoordeeld. Dezelfde probleemcategorieën duiken in vrijwel elke op — stelselmatige blinde vlekken, geen randgevallen.
Deze cijfers komen uit onafhankelijk onderzoek: Veracode testte 100+ LLMs en vond dat 45% van de gegenereerde code zakt voor beveiligingstests. De analyse van Apiiro uit 2025 liet zien dat developers die AI gebruiken inloggegevens bijna twee keer zo vaak blootstellen. Onderzoekers van NYU vonden dat ongeveer 40% van de door Copilot gegenereerde programmas kwetsbaarheden bevatte, terwijl het onderzoek van Stanford bevestigde dat developers die AI-assistenten gebruiken minder veilige code produceren — en er zekerder van zijn dat die veilig is. Onze eigen beoordeling van door agents geschreven Flutter staat in Hoe AI-agents worstelen met Flutter: gedupliceerde state, geen tests, en interfaces waar nooit een mens tweede keer naar keek.
Beveiligingslekken
- Blootgestelde API-sleutels en geheimen
AI-tools coderen API-sleutels, databasegegevens en tokens van externe diensten regelmatig hard in de broncode. Die belanden in openbare repositories, in bundels aan de clientkant, of in omgevingsbestanden die naar productie gaan. Eén gelekte OpenAI-sleutel kan binnen uren duizenden euros aan ongeautoriseerd gebruik opleveren.
- Ontbrekende authenticatie en autorisatie
Met AI gebouwde apps bouwen authenticatie vaak alleen aan de oppervlakte: er is een inlogscherm, maar de backend controleert de rechten niet werkelijk. API-endpoints accepteren elk verzoek. Beheerroutes zijn zonder rolcontrole bereikbaar. Gebruiker A ziet de gegevens van gebruiker B door een ID in de URL te wijzigen.
- Injectieaanvallen
SQL-injectie, XSS en prompt injection komen wijdverbreid voor in met AI gebouwde code. AI-modellen genereren code die gebruikersinvoer rechtstreeks in query's, HTML of LLM-prompts plakt zonder te ontsmetten. Eén kwetsbaar endpoint kan je hele database compromitteren of aanvallers het gedrag van je AI laten sturen.
- Onveilige gegevensopslag
Persoonsgegevens in leesbare tekst, sessietokens in localStorage, wachtwoorden gehasht met MD5 of helemaal niet gehasht. AI-tools grijpen standaard naar de eenvoudigste uitvoering, en die is zelden de veilige. Naleving van de AVG en van privacyregels ontbreekt doorgaans. Onze gids over versleuteling in productieapplicaties beschrijft hoe gegevens werkelijk beschermd horen te worden, zowel in rust als onderweg.
API-kosten optimaliseren
- Overbodige API-aanroepen
Het duurste probleem dat we vinden. Met AI gebouwde apps doen onnodige aanroepen naar betaalde externe API's — geocoderingsdiensten, aanbieders van financiële data, AI-modellen, verificatie-API's. Ze roepen hetzelfde endpoint meerdere keren aan voor dezelfde gegevens, cachen antwoorden niet, en doen verzoeken die met eenvoudige lokale logica volledig vermijdbaar waren. We vinden geregeld apps waarin 60-80% van de API-uitgaven verspild is.
- Ontbrekende verzoeklimieten en budgetten
Geen verzoeklimieten per gebruiker. Geen dagelijkse uitgavenplafonds. Geen noodrem wanneer de API-kosten pieken. Eén gebruiker — of een bot — kan je hele maandbudget in een dag opmaken. AI-tools bouwen nooit kostenbeheersing in, omdat ze geen idee hebben van je verdienmodel of van de prijsniveaus van de diensten die je koppelt.
- Geen caching of bundeling
Bij elk afzonderlijk verzoek dezelfde wisselkoers, IP-locatie of gebruikersprofiel bij een betaalde API ophalen in plaats van het te cachen. Losse API-aanroepen in een lus doen in plaats van bundelendpoints gebruiken. Elk overbodig verzoek kost geld, en op schaal loopt dat op tot duizenden euros per maand.
Datalekken en privacy
- Gevoelige informatie loggen
Door AI gegenereerde code is dol op uitgebreid loggen. E-mailadressen, wachtwoorden, betaalgegevens en persoonsgegevens belanden in applicatielogs, foutopsporingsdiensten en analysepakketten van derden. Die logs zijn vaak zonder authenticatie toegankelijk en worden onbeperkt bewaard.
- Te veel delen via API's
API-antwoorden die complete gebruikersobjecten teruggeven — inclusief gehashte wachtwoorden, interne IDs, e-mailadressen en metadata — terwijl de front-end alleen een weergavenaam nodig heeft. GraphQL-endpoints zonder dieptelimieten waarmee aanvallers je hele datamodel kunnen uitlezen.
- Blootstelling aan derden
AI-tools koppelen analyse-, foutopsporings- en monitoringdiensten zonder stil te staan bij welke gegevens daarheen stromen. Gebruikersgedrag, persoonsgegevens en bedrijfsgegevens belanden zonder toestemming in systemen van derden, in strijd met de AVG en andere privacyregels.

Wie de audit uitvoert
Nerdy Production wordt geleid door Ilya Nixan, voorheen CTO van QIWI, een van de grootste betaalplatforms in zijn markt, waar hij zo'n 12 engineeringteams aanstuurde die alles bestreken van webproducten tot kaartverwerking en PCI-DSS-scope. Dat is de lat waaraan onze audits worden gehouden: niet "draait de code", maar "zou dit een beoordeling doorstaan door iemand die compliance-scope heeft gedragen en zich voor een productie-incident heeft moeten verantwoorden." We hebben zelf geen PCI-DSS- of SOC 2-certificering, en we zeggen ronduit wanneer een bevinding buiten valt wat een audit kan bevestigen — maar de persoon die de lat legt voor wat als kritieke bevinding telt, heeft gereguleerde infrastructuur beheerd en er niet alleen over gelezen.
Onze engineers werken dagelijks met AI-programmeergereedschap, en juist daarom weten we waar het faalt. Hoe AI-agents worstelen met Flutter loopt de specifieke gaten langs die een onbewaakte agent achterlaat — gedupliceerde state, ontbrekende tests, interfaces waar nooit een tweede blik op viel — precies de patronen waar we in elke audit naar zoeken, ongeacht taal of framework.
Hoe een audit verloopt
We leveren een complete audit met bruikbare oplossingen — niet alleen een lijst problemen.
- Toegang tot de codebase en afbakening
Je geeft ons leestoegang tot je repository en je uitgerolde omgeving. We bakenen de audit af op basis van jouw prioriteiten: een volledige audit of gericht op specifieke gebieden (beveiliging, kosten of gegevensprivacy). Tijdens de auditfase wijzigen we niets aan je code.
- Geautomatiseerde analyse
We draaien statische analyse, scans op kwetsbaarheden in afhankelijkheden, opsporing van geheimen en profilering van API-kosten tegen je codebase. Dat vangt het laaghangend fruit — bekende kwetsbaarheden, blootgestelde inloggegevens, verouderde pakketten met beveiligingspatches, en voor de hand liggende prestatieproblemen.
- Handmatige beoordeling door experts
Onze engineers beoordelen de architectuur, de bedrijfslogica, de authenticatiestromen, de API-koppelingen en het omgaan met gegevens met de hand. Hier vinden we de problemen die geautomatiseerd gereedschap mist: fouten in de logica, gaten in de autorisatie, kansen om kosten te verlagen, en ontwerpkeuzes die op schaal problemen gaan geven.
- Rapport gerangschikt op ernst
We leveren een gedetailleerd rapport waarin elke bevinding is ingedeeld op ernst (kritiek, hoog, gemiddeld, laag) en op soort (beveiliging, kosten, privacy, prestaties). Elke bevinding bevat een heldere uitleg van het risico, waar van toepassing een demonstratie, en een concrete oplossing met codevoorbeelden.
- Herstel — jouw keuze
Jij bepaalt wie het oplost. Wij kunnen elke oplossing zelf uitvoeren als opdracht met vaste scope, met kritieke beveiligingspatches eerst en jij die elke wijziging beoordeelt voordat ze wordt samengevoegd. Of, wil je liever dat je eigen team de oplossingen zelf doorvoert, dan kunnen we via teamuitbreiding een engineer laten aansluiten die je bevindingenrapport al kent, in plaats van je een document te overhandigen en te verdwijnen. Hoe dan ook is het resultaat een codebase die je met vertrouwen kunt uitrollen.
Door AI gegenereerde code tegenover productieklare code
Wat er verandert wanneer je codebase een professionele audit doorloopt
| Aspect | Na de auditProductieklaar | Door AI gegenereerde code | Vanaf nul gebouwd |
|---|---|---|---|
| Beveiliging | Gehard | Alleen aan de oppervlakte | Wisselt per team |
| API-kosten | Geoptimaliseerd | 5-20x te veel | Meestal geoptimaliseerd |
| Gegevensprivacy | AVG-conform | Datalekken zijn gangbaar | Hangt van het proces af |
| Tijd tot productie | 2-4 weken | Draait al | 3-6 maanden |
| Kosten om te lanceren | Laag (audittarief) | Gratis (riskant) | Hoog (volledige bouw) |
| Foutafhandeling | Nette afhandeling | Crasht bij randgevallen | Meestal afgehandeld |
| Schaalbaarheid | Belast getest | Niet getest | Ontworpen om te schalen |
| Monitoring | Volledig zicht | Geen of veel te veel | Standaardopzet |
Kort gezegd: door AI gegenereerde code brengt je 80% van de weg in 5% van de tijd. Maar die laatste 20% — beveiliging, kostenoptimalisatie, gegevensprivacy, foutafhandeling — is wat een demo van een productieapplicatie scheidt. Een audit overbrugt dat gat zonder je met AI gebouwde fundament weg te gooien.
Tarieven voor een audit van AI-code
Heldere tarieven op basis van de omvang van je codebase en de scope van de audit
Gericht op beveiliging
Alleen kritieke kwetsbaarheden
1-2 weken
- Scan op de OWASP Top 10
- Opsporen van geheimen en inloggegevens
- Beoordeling van authenticatie en autorisatie
- Controle op kwetsbare afhankelijkheden
- Rapport met bevindingen op prioriteit
- Oplossingen met codevoorbeelden
Kostenoptimalisatie
Verlaag je API-uitgaven
1-2 weken
- Profilering van betaald API-gebruik
- Overbodige aanroepen opsporen
- Strategie voor caching en bundelen
- Plan voor verzoeklimieten
- Kostenoptimalisatie per verzoek
- Rapport met verwachte maandbesparing
Volledige audit
Volledig productieklaar
2-4 weken
- Alles uit Gericht op beveiliging
- Alles uit Kostenoptimalisatie
- Beoordeling van gegevensprivacy en AVG
- Analyse van prestaties en schaalbaarheid
- Audit van de infrastructuur
- Gedetailleerd rapport plus uitvoering van de oplossingen
Doorlopende ondersteuning
Continu beoordelen en bewaken
per maand
- Maandelijkse beveiligingsscans
- Bewaking van en waarschuwingen over API-kosten
- Beoordeling van updates van afhankelijkheden
- Beveiligingsbeoordeling van nieuwe functies
- Voorrang bij incidenten
- Rechtstreekse toegang via Slack of Telegram
Maatwerktarieven mogelijk
De prijs hangt af van de omvang van de codebase, het aantal services en koppelingen, en de scope van de audit. Een kleine app met één service en één AI-koppeling zit aan de onderkant. Een platform met meerdere services, verschillende AI-aanbieders, betalingsverwerking en gebruikersgegevens vraagt een grondiger beoordeling. Neem contact op voor een gratis eerste analyse.
Veelgestelde vragen
Veelgestelde vragen over het beoordelen van door AI gegenereerde en productiecodebases
