Je hebt drie problemen die hetzelfde kostuum dragen. Een mens die je checkoutpagina leest, een zoekcrawler die hem indexeert en een stealth browser die er gestolen kaarten tegen afloopt, kunnen allemaal een geloofwaardige Chrome-user-agent en een schoon residentieel IP-adres tonen. Behandel ze als één hoop en je blokkeert ofwel omzet, ofwel laat je fraude door.
De oplossing is een taxonomie en een beslissing: classificeer elke sessie in een bekende klasse, lees wat hij probeert te doen en koppel dat aan precies één actie: toelaten, monitoren, uitdagen, agentcontent serveren of blokkeren. Deze post is het classificatie- en beslissingskader. Voor de onderliggende signaalmechaniek behandelt de gids voor het detecteren van AI-agentverkeer identiteits-, netwerk-, browser- en gedragssignalen; voor het kiezen van een leverancier, zie hoe je een AI-agentdetectieoplossing kiest. Wanneer je wilt weten waarom oudere verdedigingen dit verkeer missen, legt botdetectie met verouderde tools in het tijdperk van AI-agents het gat uit. Hier is de taak om te beslissen wat je doet zodra je het verkeer kunt zien.
Een taxonomie met vijf klassen die aan actie gekoppeld is
"Goede bot versus slechte bot" is te grof, want de winkelagent van een consument is geautomatiseerd en welkom, terwijl een zoekcrawler geautomatiseerd en welkom is om een compleet andere reden. Splits verkeer op in vijf operationele klassen, elk gekoppeld aan een standaardactie:
| Klasse | Voorbeelden | Intentie | Standaardactie |
|---|---|---|---|
| Mens | Echte bezoekers, ingelogde klanten | Browsen, kopen, account beheren | Toelaten, risico monitoren |
| Goede bot | Googlebot, GPTBot, ClaudeBot, PerplexityBot, partner-API-bots | Content indexeren, opgegeven integratie | Toelaten, rate-limiten, identiteit verifiëren |
| Neutrale automatisering | Uptime-monitors, linkcheckers, RSS-/preview-fetchers | Operationeel, lage waarde, lage schade | Monitoren, rate-limiten |
| Consumenten-AI-agent | Winkel- en onderzoeksagents die voor een echte gebruiker handelen | Een taak voltooien namens een persoon | Toelaten of agentcontent serveren |
| Kwaadaardige agent | Scrapers, card testers, account-misbruikbots, stealth browsers | Waarde onttrekken of fraude plegen | Uitdagen of blokkeren |
De klasse staat niet vast voor een sessie. Een consumentenagent die productpagina's bekijkt, zit in de kolom "toelaten" tot het moment dat hij op machinesnelheid betaalformulieren begint in te dienen, op dat punt zijn zijn intentie, en zijn klasse, veranderd.
Identiteit zegt je wie; intentie zegt je wat te doen
Identiteitssignalen beantwoorden "wie beweert dit te zijn": user-agent, opgegeven crawlernaam, fingerprint. Ze zijn noodzakelijk en bijna gratis te spoofen. Een zichzelf aankondigende GPTBot kun je verifiëren door het verzoek-IP te vergelijken met de gepubliceerde ranges van de crawler, wat impersonators vangt. Maar de gevaarlijke klassen kondigen zichzelf nooit aan.
Intentiesignalen beantwoorden "wat doet deze sessie". Ze leven in gedrag en in de runtime, en ze zijn veel duurder om overtuigend te vervalsen:
- navigator.webdriver gezet, of te schoon onderdrukt, op een sessie die er verder uitziet als gewone Chrome.
- CDP-/Runtime-lekken: Chrome DevTools Protocol-artefacten (
cdc_-eigenschappen, gestripte accessibility-nodes) die verraden dat Playwright of Puppeteer de pagina aanstuurt. - Fingerprint-drift: WebGL, Canvas en Audio-context die geen coherent verhaal vertellen over één apparaat, of die binnen een sessie muteren.
- Gedrag van residentiële proxy's: een "consumenten"-IP waarvan de tijdzone, taal en ASN-geschiedenis niet kloppen, roterend over verzoeken.
- Actiecadans: een uitbarsting van kaartinzendingen in een paar minuten is intentie, geen identiteit. Geen enkele user-agent-string vertelt je dat; de opeenvolging van acties wel.
Je classificeert op identiteit plus intentie samen. Een sessie die elke identiteitscheck doorstaat maar faalt op runtime en cadans, is precies het kwaadaardige-agent-geval dat netwerk-only-tooling doorlaat.
Waarom dit in 2026 meer telt
De kwaadaardige klasse werd goedkoop. cside's webbeveiligingsonderzoek 2026 meldt dat het aantal playwright-stealth-installaties in de loop van 2025 ongeveer 10x steeg, een schone indicator voor hoe snel anti-detectie-automatisering van een niche naar mainstream aanvalstooling verschoof. cside 2026 research report
Tegelijkertijd groeiden de welkome klassen. AI-search-crawlers zorgen nu voor echte vindbaarheid, en consumentenwinkelagents voltooien echte aankopen. Dus beide uiteinden van de taxonomie breidden zich tegelijk uit: meer automatisering die je wilt toelaten, en meer automatisering die specifiek gebouwd is om daarop te lijken. Daarom faalt een binaire detector: hij heeft geen kolom voor "geautomatiseerd en welkom". Voor de diepe mechaniek van hoe het kwaadaardige uiteinde zich verbergt, zie stealth browsers en anti-detect browsers, uitgelegd. Dezelfde signalen vangen de credential-stuffing-runs die de login raken zodra een agent overgaat van browsen naar het aanvallen van accounts.
Koppel elke klasse aan één handhavingsactie
Zodra een sessie is geclassificeerd, moet handhaving deterministisch zijn. Vijf acties dekken de taxonomie:
- Toelaten: mensen en geverifieerde goede bots in hun verwachte paden. Loggen en doorgaan.
- Monitoren: neutrale automatisering en elke sessie waarvan de klasse nog dubbelzinnig is. Verzamel signalen, voeg nog geen wrijving toe.
- Uitdagen / afknijpen: sessies die richting kwaadaardig neigen. Vertraag ze, verhoog de verificatie of rate-limit de specifieke actie (login, checkout) in plaats van de hele site.
- Agentcontent serveren: een bekende consumentenagent op een pad waar je liever stuurt dan blokkeert. Geef hem een doelgebouwde weergave of een "neem contact op"-stap in plaats van ruwe prijzen te lekken naar een sessie met de vorm van een scraper.
- Blokkeren: bevestigde kwaadaardige intentie zoals kaarten aflopen, credential stuffing en account-misbruikruns.
Twee regels houden dit eerlijk. Beperk acties tot de actie, niet de bezoeker: daag de checkout-inzending uit, geef geen 403 op de homepage. En neem de beslissing per pagina: een stealth browser die een blogpost leest, is een monitor-geval; dezelfde sessie op je card vault is een blokkeergeval. Voor het draaiboek aan de blokkeerkant, zie hoe je AI-agents op je website blokkeert, en voor de betalingsfraudevariant, hoe je AI-card-testing-agents blokkeert.
Waar de classificatie moet gebeuren
Deze taxonomie werkt alleen als je intentie kunt lezen, en intentie leeft in de browser. AI-crawlers die nooit JavaScript uitvoeren, vuren nooit je analytics af, dus ze zijn onzichtbaar voor GA4 en PostHog. Consumenten- en kwaadaardige agents draaien echte browsers en lijken menselijk voor diezelfde tools. Geen van beide uiteinden is te scheiden op de analyticslaag, en het grootste deel van de kwaadaardige klasse doorstaat netwerklaagchecks volgens ontwerp: schoon IP, geldige user-agent, geloofwaardige verzoekvorm.
cside houdt de browserruntime in realtime in de gaten. Het legt het apparaat en het echte IP vast, brengt de automatiserings- en fingerprint-signalen aan het licht die intentie onthullen, markeert AI-agents en stealth browsers binnen de pagina, en stelt die signalen beschikbaar via API zodat je de beslissing toelaten / monitoren / uitdagen / serveren / blokkeren in je eigen workflow kunt aansturen. Dat is de laag waar een mens, een goede bot en een kwaadaardige agent eindelijk niet meer op elkaar lijken.







