In april 2026 ontdekte een beveiligingsonderzoeker dat Lovable, een vibe-codingplatform met een waardering van 6,6 miljard dollar en acht miljoen gebruikers, al wekenlang broncode, database-credentials en AI-chatgeschiedenissen lekte uit duizenden projecten. Elk gratis account kon via een autorisatiefout in hun API bij de data van andere gebruikers.
De bug was 48 dagen eerder gemeld via HackerOne. Lovable sloot het rapport zonder het te escaleren.
Dat is geen bug. Dat is een businessmodel dat zijn logische eindpunt bereikt.
De cijfers zijn binnen
In een eerder artikel op deze blog ontleedde ik hoe AI-bedrijven hun defensieve beveiligingstools overhypen. Dit is de andere kant van die medaille: de code die AI schrijft is zelf het aanvalsoppervlak.
De data is niet langer anekdotisch. Het is industrieel.
AppSec Santa testte 534 codevoorbeelden van zes grote LLM's tegen de OWASP Top 10. Een op vier bevatte een bevestigde kwetsbaarheid. Geen stijlprobleem. Geen code smell. Een kwetsbaarheid.
Veracode ging nog een stap verder en testte meer dan 100 taalmodellen op beveiligingsgevoelige programmeertaken. De resultaten:
| Categorie | Faalpercentage |
|---|---|
| Cross-site scripting (CWE-80) | 86% |
| Log injection (CWE-117) | 88% |
| SQL injection (CWE-89) | 45% |
| Java (over alle categorieën) | 72% |
Hun conclusie: AI-gegenereerde code bevat 2,74 keer meer kwetsbaarheden dan door mensen geschreven code. AI-ondersteunde commits lekken secrets met twee keer het tempo van menselijke commits: 3,2% tegenover 1,5%.
En het versnelt. Georgia Tech's Vibe Security Radar trackte CVE's die direct aan AI-codeertools toe te schrijven zijn: 6 in januari, 15 in februari, 35 in maart. Ze schatten dat het werkelijke aantal in het open-source-ecosysteem vijf tot tien keer hoger ligt dan wat gedetecteerd wordt.
De hallucinatie die zichzelf installeert
Er is een specifiek type AI-kwetsbaarheid dat een eigen categorie verdient: slopsquatting.
Ongeveer 20% van de packages die AI aanbeveelt, bestaat niet. Het model hallucineert een plausibel klinkende bibliotheeknaam en de developer installeert het zonder te controleren. Aanvallers hebben dit door. Ze registreren de verzonnen packagenamen op npm, PyPI en andere registries en vullen ze met kwaadaardige code.
In januari 2026 registreerde een onderzoeker react-codeshift, een packagenaam die door een LLM was verzonnen, en ontdekte dat het al in 237 GitHub-repositories was beland. Tweehonderdzevenendertig repo's, met een dependency die alleen bestaat omdat een AI het verzon.
Dit is de lavalaag met een nieuwe draai. De code die niemand begrijpt, installeert nu ook dependencies die niemand heeft geverifieerd.
Waarom niemand telt
Het structurele probleem: de mensen die AI-gegenereerde code shippen, worden afgerekend op snelheid, niet op beveiligingsschuld.
Je sprintmetrics meten afgesloten tickets, opgeleverde regels, gemergte PR's. Niemand heeft een dashboard voor "OWASP-violations geïntroduceerd dit kwartaal." Beveiligingsteams zitten downstream. Tegen de tijd dat zij auditen, is de lava uitgehard in de codebase en moet je de feature herschrijven om het eruit te halen.
En hier wordt het echt ongemakkelijk: "AI-gegenereerd" is geen label in je git-geschiedenis. Er is geen vlag, geen tag, geen grep-patroon. De developer die de code promptte en de developer die het met de hand typte produceren identieke commits. De schuld is onzichtbaar by design.
91,5% van vibe-gecodede applicaties had minstens één AI-hallucinatie-gerelateerde fout in Q1 2026. Dat is geen afrondingsfout. Dat is een structureel faalpatroon dat we collectief negeren omdat de snelheidsgrafiek er goed uitziet in de sprintreview.
Wat je er concreet aan doet
- Behandel AI-gegenereerde code als onvertrouwde input. Scan het voordat het gemerged wordt, niet erna. Je CI-pipeline moet OWASP Top 10-violations afvangen op dezelfde manier als falende tests.
- Pin je dependencies. Lock files zijn niet optioneel als je copilot packages hallucineert. Audit elke nieuwe dependency die gisteren nog niet in je lock file stond.
- Voeg security toe aan je review-checklist. Niet "ziet het er veilig uit?" maar specifiek: injection, XSS, auth bypass, secret exposure. De vier categorieën waar AI het hardst faalt.
- Als je de auth-flow die de AI schreef niet kunt uitleggen, heb je geen auth. Je hebt een placeholder die toevallig 200 OK teruggeeft.
- Meet het. Als je team AI gebruikt om code te genereren, begin dan beveiligingsbevindingen per AI-ondersteunde PR te meten versus menselijk geschreven PR's. Je kunt niet managen wat je niet kunt zien.
Het rapport was ingediend
De bug van Lovable was gemeld. Een mens las het, besloot dat het niet waard was om te escaleren, en sloot het ticket. 48 dagen lang bleven duizenden projecten blootgesteld.
Dat is de echte prijs van optimaliseren voor snelheid boven begrip. Niet de spectaculaire breach. Niet de zero-day. Het stille, alledaagse besluit om een rapport te sluiten omdat fixen de boel zou vertragen.
De papegaai schrijft snel. Hij leest de CVE-database niet.