Machinevertaling. De Engelse tekst is leidend. English

de adversariële audit

Het is niet één audit. Het is een discipline.

Iedereen kan één keer een securityronde draaien en een screenshot maken van al het groen. Moeilijker is het om je eigen systeem steeds opnieuw aan te vallen terwijl het groeit, en elke keer hetzelfde antwoord te krijgen. De laatste ronde: een audit met 50 agents, de fixes uitgerold, daarna een aparte adversariële her-audit met 14 lenzen waarbij elke bevinding eerst een scepticus moest overleven voordat die telde. Wat standhoudt, houdt stand.

wat de laatste audit dekte

Eerst scope, methode en grenzen. Daarna pas het aantal agents.

Uit de meest recente core-audit, gedateerd 25 september 2026. Het aantal agents zegt hoe druk een audit was, niet hoe goed, dus dit is wat deze audit werkelijk deed.

Code
Het core-pakket, 162 bestanden en 17,362 regels, op één vaste commit, plus de gatewaycode die nodig is om te bepalen of elk pad live is.
Toegang
De volledige broncode, en een verse database opgebouwd uit de migraties. Niet de productiedatabase; instellingen die alleen in productie bestaan werden als ongeverifieerd gemarkeerd en daarna door mij gecontroleerd.
Methode
Vier reviewers lazen elk één laag volledig. Een lead las elke bevinding opnieuw na tegen het bestand en voerde elke timing- of patroonclaim uit voordat die meetelde.
Ernst
HIGH betekent een gemiste crisis of een denial of service op een live pad, een lek tussen tenants, of verloren geld. Medium betekent een beveiliging die open faalt, krediet dat uit het niets ontstaat, of data die stilletjes wegvalt. Elke bevinding is ook gemarkeerd als live of latent: vandaag in productie bereikbaar, of niet.
Onenigheid
Een bevinding die de lead niet kon reproduceren werd geschrapt of als ongeverifieerd gemarkeerd, niet meegemiddeld.
Resultaat
2 HIGH- en 13 medium-bevindingen. Allemaal dezelfde dag opgelost, elk met een test die op de oude code faalde, en de volledige suite opnieuw gedraaid in CI.
Niet gedekt
De getrouwheid van ongeveer 7,000 regels vertaalde veiligheidsteksten, de productiedatabase, de webserverconfiguratie en 17 lage bevindingen die nog openstaan.

Zelf uitgevoerd door AI-reviewers die ik aanstuurde, geen onafhankelijke zekerheid van een derde partij.

het ritme

Keer op keer opnieuw aangevallen. Elke cross-tenant-bevinding hieronder werd door een audit gevonden, niet door een klant gemeld, en opgelost.

nieuwste
Re-audit met 14 lenzen van de laatste remediatie, per fix een jacht op resterende omzeilingen en regressies, elke bevinding voorgelegd aan een onafhankelijke agent om te weerleggen. 2 lage edge-cases bleven overeind, beide opgelost; niets cross-tenant, geen breuk in geld of governance.
ervoor
Audit met 50 agents → een minimale remediatie van 9 PR's over de naden van de store (agenda, kanalen, de autonome resident, de tenant-economie, GDPR/PECR): alles uitgerold, getest, opnieuw gedeployed.
daarvoor
Audit met 44 agents, 9 bevindingen, 3 hoog (incl. een cross-tenant-lek van gesprekken): alle opgelost; en een extensie-analyse met 30 agents die als bijeffect van grounding echte bugs aan het licht bracht.
juli 2026
Audit met 80 agents en 14 facetten: de vroegste volledige doorlichting, uitgevoerd met een weerleggingsregel: geen bevinding telde totdat een aparte agent er niet in slaagde haar te weerleggen. Er zijn drie fixes uit voortgekomen, waaronder een kwadratische website-importer die is herschreven naar een begrensde lineaire scan. Los van, en voorafgaand aan, de doorlichting met 50 agents hierboven.
en eerder
adversariële rondes over het hele platform en de hele Studio, het vlaggenschip, en meerdere daarvoor: een doorlopend spoor in git.

✓ kroonjuwelen hielden elke ronde stand, isolatie · geld · governance · SSRF · tokendomeinen

drie van de echte

HIGH Gesprekslek tussen tenants

Het chatgeheugen was gekoppeld aan de afzender, niet aan de tenant, dus bij een gast die via het platform twee bedrijven een bericht stuurde, kon het gesprek met het ene bedrijf opduiken in de prompt van het andere. Verholpen: geschiedenis is op de opslaglaag gekoppeld aan het bedrijf, met een test die faalt als de oude sleutel terugkomt. Het is gevonden door de audit, niet gemeld door een klant.

HIGH Een provider die een aanroeper leegtrekt

In de cross-tenant tool-economie kon een aanbieder de prijs van een toegekende tool verhogen nadat een aanroeper die was gaan gebruiken, en zo diens saldo leegtrekken. Opgelost: de aanroeper stemt per aanroep in met een prijs, fail-closed, geen toestemming, geen afschrijving, afgedwongen voordat er ook maar één credit verschuift.

HOOG Crisis achter de meter

De billingcheck draaide vóór de crisischeck, dus een klant in nood die een bedrijf zonder tegoed een bericht stuurde, kreeg "niet beschikbaar" in plaats van een crisislijn. Opgelost: crisis wordt gratis afgehandeld, vóór elk plafond en elke afschrijving, op elk klantkanaal.

De lenzen bestrijken isolatie · auth · injectie · geld · governance · boekingen · kanalen · de autonome resident · datarechten (GDPR/PECR) · de sitegenerator · frontend · ops. Het oordeel, elke ronde: nul kritieke bevindingen openstaand; tenant-isolatie en het XSS-oppervlak kwamen schoon terug; geen live auth-bypass: elk bevestigd randgeval opgelost en opnieuw uitgerold.

de eerlijke cijfers

Elk cijfer, met het sterretje er al bij.

De meeste bouwers dikken aan. Ik heb liever dat je vertrouwt op de delen die echt zijn dan dat je onder de indruk bent van delen die dat niet zijn.

1bouwer* geen team
3,389tests slagen* CI, 2026-10-01, geen formeel bewijs
6 → 0audits · openstaande criticals* zelf uitgevoerd, niet door een derde partij; nul kritieke bevindingen per 2026-09-25, core-pakket
0bekende cross-tenant-inbreuken in productie* geen gemeld; één lek gevonden in een audit en verholpen, zie hieronder
1productie-instantie* bewust gekozen, schaal is nog niet de les

Het systeem is eerlijk omdat degene die het ontwierp dat is. Daar heb ik vanaf het begin voor gezorgd: ingebouwd, niet achteraf vastgeschroefd.

de uitnodiging

De cijfers houden stand. Inclusief sterretjes.

Als je een bouwer zoekt die zijn eigen werk zo hard aanvalt voordat iemand erom vraagt, en dat blijft doen naarmate het systeem groeit, laten we praten.