Skip to main content
Blog
Blog Attacks

AI-agenten detecteren: muis, scroll, typen

Gedragssignalen vangen AI-agenten die CAPTCHA passeren en IP's roteren: muispaden, scrollritme en toetsaanslag-timing die automatisering niet namaakt.

Jul 14, 2026 10 min read
AI-agenten detecteren: muis, scroll, typen

Je kunt bijna alles wat een browser rapporteert spoofen. Een moderne AI-agent draait in echte Chrome, roteert door residentiële IP's, presenteert een schone vingerafdruk en lost een CAPTCHA op zonder te vertragen. Wat hij niet overtuigend kan faken, is hoe een echt persoon beweegt, scrollt en typt gedurende een hele sessie.

Dat is wat gedragssignalen lezen, en het is de basis van gedragsgebaseerde AI-agent-detectie. In plaats van één keer bij de deur een identiteit te controleren, kijken ze hoe het bezoek zich werkelijk ontvouwt: de kromming van een muispad, het ritme van een scroll, de afstand tussen toetsaanslagen, en de pauzes die een agent neemt terwijl een model beslist wat het hierna doet. cside leest meer dan 100 signalen vanuit je eigen first-party JavaScript, op de live pagina, en de gedragslaag is het deel dat automatisering het moeilijkst kan onderdrukken.

Dit is een praktische gids voor die signalen, waarom ze werken, en hoe je ze omzet in een beslissing.

TL;DR

  • Vingerafdruk-, IP- en CAPTCHA-checks zijn momentopnames en spoofbaar. Gedrag wordt live geproduceerd door een sessie heen en is veel moeilijker te faken.
  • De gedragslaag heeft vier onderdelen: muistraject, scrollritme, toetsaanslag-afstand en typeritme, en een AI-laag (reasoning-latency plus AI-gegenereerde tekst).
  • Moderne LLM-agenten leunen niet meer op gescripte invoer, dus single-signal-ritmechecks missen ze. De vangst is cross-signaalcorrelatie.
  • cside leest deze signalen vanuit first-party JavaScript in echte bezoekerssessies en voedt een realtime risicoscore in je login, checkout en fraud-stack.
  • Blokkeer nooit op één signaal. Scoor op convergentie en reageer in gegradueerde stappen.

Waarom gedragssignalen vangen wat fingerprinting mist

Gedragsdetectie leest hoe een sessie in de tijd beweegt, scrollt en typt om echte mensen van automatisering te scheiden, in plaats van te vertrouwen op wat de browser op één moment rapporteert.

Statische identiteitssignalen beschrijven wat een browser beweert te zijn: de user-agent, het platform, het scherm, de fonts en de GPU. Elk daarvan is te herschrijven. Anti-detect-browsers bestaan om een gescripte sessie op een vers, gewoon apparaat te laten lijken, en de goede blijven intern consistent genoeg om een vingerafdruk-check te passeren.

Gedrag is anders, omdat het live geproduceerd moet worden, elke sessie, als reactie op je werkelijke pagina. Een echte hand wordt beheerst door fysica en een echt brein door cognitie. Muispaden krommen en schieten door, scroll-snelheid stijgt en daalt, en typen bevat pauzes, typefouten en correcties. Niets daarvan is een waarde die een operator vooraf kan instellen.

Er zit ook een structureel gat in eenmalige checks. Een challenge test de bezoeker één keer, bij de deur, en gaat ervan uit dat alles daarna in orde is. Door die aanname falen zichtbare challenges als primaire verdediging: een bot hoeft er alleen menselijk uit te zien voor de duur van de puzzel. Gedrag lezen door de hele sessie heen haalt die blinde vlek weg.

Als vakgebied is dit niet nieuw. Toetsaanslag- en muispatronen analyseren om mensen en machines te onderscheiden bestaat al decennia. Onderzoek naar toetsaanslag-timing gaat terug tot de jaren 1980, en continue authenticatie gebruikt al jaren muis- en typedynamiek. Wat veranderde, is de urgentie. Nu AI-agenten op grote schaal echte browsers sturen, ging de gedragslaag van een nice-to-have naar het signaal dat een mens werkelijk onderscheidt van een capabele agent.

EigenschapVingerafdruk / IP / CAPTCHAGedragssignalen
Wat het controleertWat de browser op één moment rapporteertHoe de sessie in de tijd beweegt, scrollt en typt
TimingMomentopname, gecontroleerd bij de deurContinu, door de hele sessie heen
SpoofbaarJa; anti-detect-browsers herschrijven hetVeel moeilijker; live geproduceerd als reactie op de pagina
Vangt een agent in echte ChromeNeeJa

De gedragsgebaseerde AI-agent-detectielagen die cside leest

cside groepeert interactiesignalen in vier lagen, gewogen naar hoe moeilijk elk te faken is.

GedragslaagWat een echt persoon produceertWat automatisering meestal produceertWaarom het faken weerstaat
MuistrajectGekromde paden, microcorrecties dicht bij een doel, fysiologische tremorRechte lijnen of schone bochten, identieke snelheid, hetzelfde beginpuntMeest volwassen laag in cside's stack; automatiseringslibraries hebben menselijke beweging niet op schaal gereproduceerd
ScrollritmeKorte stoten met stijgende en dalende snelheid, pauzes om te lezenVlakke of trapfunctie-snelheid, perfect gelijkmatige intervallenGoedkoop te lezen en duur om goed te faken, omdat natuurlijk leesritme afhangt van content die de agent niet leest
Toetsaanslag-afstand en typeritmeOngelijkmatige intervallen, karakteristieke hold-tijden, backspaces en correctiesBijna-nul variantie, of een directe paste zonder ritmeDe laag die de meeste detectiestacks onderbenutten, dus zelden gespoofd
AI-laag: reasoning-latency en gegenereerde tekstMenselijke denktijd, door een mens geschreven tekstRound-trip-pauzes voor inferentie, door een model gegenereerde tekstRicht zich op het model van de agent zelf, dat gescripte tooling niet kan maskeren

cside AI-agent-detectie-dashboard

Muistraject

Menselijke cursorbeweging heeft structuur die scripts zelden reproduceren: microcorrecties dicht bij een doel, versnelling en vertraging die de wet van Fitts volgen, kleine zijwaartse drift, en een fysiologische tremor die nooit volledig tot rust komt. Automatisering neigt naar rechte lijnen of wiskundig schone bochten, keert terug naar hetzelfde beginpunt, en reageert met identieke snelheid.

Dit is het meest volwassen deel van cside's gedragsstack, en het muisbewegingswerk komt uitgebreid aan bod in een eigen bericht. Kort samengevat: een gedragsmodel (cursor_v2) scoort muisbeweging tegen patronen die automatiseringslibraries niet op schaal hebben gereproduceerd. In gecontroleerde tests vangt het kale Playwright-sessies met 98,2% recall en stealth-mode browserless-sessies met 100%, bij een menselijke false-positive-rate van minder dan 1% (zie de headless-browserdetectie-methode). Tooling die mensachtige beweging probeert te leren, laat nog steeds de cursor-tells achter die cside vangt op Playwright- en browserless-verkeer.

Scrollritme

Scrollen levert hetzelfde soort signaal op. Echte gebruikers scrollen in korte stoten met een natuurlijk snelheidsprofiel: een duw, een glijbeweging, een stop om te lezen. Scripts die window.scrollTo() aanroepen of scroll via het DevTools Protocol sturen, produceren vlakke of trapfunctie-snelheid, perfect gelijkmatige intervallen, of sprongen zonder aanloop. Scrollritme is goedkoop te lezen en duur om goed te faken, omdat natuurlijk leesritme afhangt van content die de agent niet echt leest. cside leest scroll-snelheid en dwell direct vanuit first-party JavaScript op de live pagina en scoort dit als één input in het convergentiemodel, waar een vlak, content-onafhankelijk scrollprofiel pas betekenis krijgt wanneer het samenvalt met de andere gedragssignalen.

Toetsaanslag-afstand en typeritme (keystroke dynamics)

Dit is de laag die de meeste detectiestacks onderbenutten. Menselijk typen is op een specifieke manier ongelijkmatig. Het interval tussen toetsaanslagen varieert met vingerafstand en hoe vertrouwd een lettercombinatie is, de tijd dat elke toets wordt ingedrukt ligt in een karakteristiek bereik, en echte invoer zit vol backspaces en correcties. Gescripte form-fills gaan de andere kant op: bijna-nul variantie tussen toetsaanslagen, of een directe paste van de hele waarde zonder enig typeritme.

cside leest toetsaanslag-afstand en typeritme direct, en meet de variantie in de timing tussen invoeren in plaats van de inhoud ervan. Een veld dat met metronomische precisie is ingevuld, of sneller is gevuld dan een mens fysiek kan typen, is op zichzelf een sterk signaal, en een sterker signaal wanneer het samenvalt met een lineair muispad.

De AI-laag: reasoning-latency en gegenereerde tekst

Gescripte bots en LLM-gestuurde agenten falen op verschillende manieren, en de AI-laag richt zich op dat verschil.

Een autonome agent pauzeert meestal tussen acties terwijl zijn model beslist wat het hierna doet. Die pauze heeft een machinesignatuur: het is een round-trip naar een inferentiestap, niet een persoon die het scherm leest en aarzelt. cside leest de latency tussen invoeren en acties en markeert het reasoning-latency-patroon dat agent-gestuurde sessies achterlaten, wat er anders uitziet dan menselijke denktijd, zelfs wanneer de agent vertragingen toevoegt om menselijker te lijken.

Het tweede AI-signaal is de content zelf. Naast gedrags-timing bevat cside een engine voor het detecteren van AI-gegenereerde tekst: wanneer een bezoeker tekst via een formulier indient, scoort cside of een persoon die heeft geschreven of een model die heeft gegenereerd. Dat maakt van de tekst van een supportbericht, een review of een aanmeldveld nog een input om een vertrouwde agent van een misbruikende te onderscheiden.

[MID_BLOG_CTA]

De misvatting: gedragsanalyse vangt alleen gescripte bots

Het gangbare bezwaar is dat gedragsdetectie alleen werkt tegen grove, gescripte bots, en dat een capabele AI-agent er dwars doorheen loopt. Dat lag dichter bij de waarheid toen de belangrijkste tell een hardcoded mouse.move(x, y)-aanroep was. Nu klopt het niet meer.

Moderne agenten gebruiken niet altijd gescripte invoer. Sommige sturen een echte browser en trainen zelfs op menselijke interactietraces om natuurlijker te bewegen en te typen. Wat ze nog steeds niet kunnen, is coherent blijven over elk signaal tegelijk. Een agent kan zijn muispad vloeiend maken en toch een formulier sneller invullen dan welke mens ook. Hij kan zijn typen laten jitteren en toch pauzeren met een machineperfecte reasoning-latency tussen stappen. De vangst komt uit de tegenstrijdigheden tussen die signalen.

Geen enkel signaal beslist: cross-signaalcorrelatie

Elk gedragssignaal produceert in isolatie false positives. Assistieve technologie automatiseert invoer. Mensen op een trackpad bewegen totaal anders dan mensen op een muis. Een snelle, geoefende typist kan er bijna gescript uitzien. Blokkeren op welke enkele aflezing dan ook zou echte klanten straffen.

Daarom werkt het model op convergentie. cside scoort over 100+ browser-, apparaat- en gedragssignalen en zoekt naar interne tegenstrijdigheden. Een sessie die beweert een gewone desktop te zijn maar een automation-control-surface draait, zonder variantie typt en van een datacenter-IP komt, vertelt een verhaal dat niet klopt. Eén zwak signaal is een vraag. Meerdere onafhankelijke signalen die dezelfde kant op wijzen, zijn een antwoord.

Waar je de signalen leest, is belangrijk

Gedragsdetectie is zo goed als het gezichtspunt. cside draait als first-party JavaScript in echte bezoekerssessies, op de live pagina, dus het leest rauwe interactiesignalen direct in plaats van ze achteraf af te leiden. Die signalen worden een realtime risicoscore die je kunt inzetten op de momenten die tellen: login, aanmelding en checkout.

Die plaatsing maakt de signalen ook bruikbaar. Omdat de score in je eigen stack landt, bepaal jij de reactie per request, in plaats van een enkel verdict van een externe black box te accepteren.

Wat te doen wanneer je een AI-agent detecteert

Detectie is alleen nuttig als het een gegradueerde reactie aandrijft. Niet elke agent is misbruik; sommige automatisering is welkom, en mensen, goede bots en kwaadaardige agenten uit elkaar houden is het hele punt van intent scoring.

  1. Instrumenteer de gedragssignalen op runtime, binnen de sessie, naast apparaat- en netwerkcontext.
  2. Scoor op convergerende onafhankelijke signalen, niet op het enkele sterkste.
  3. Laat bekende-goede automatisering en echte klanten ongehinderd passeren.
  4. Daag medium-confidence-sessies uit of verhoog de frictie met een step-up.
  5. Blokkeer of houd high-confidence-misbruik tegen bij login, aanmelding en checkout, en bewaar de rauwe signalen en risicoreden als audit-trail.

cside's AI Agent Detection en Bot Detection draaien dit vanuit de pagina: ze lezen muis-, scroll- en typsignalen, leggen apparaat- en echt-IP-context vast, scoren intent in realtime, en laten je team per request toestaan, uitdagen of blokkeren via de SDK.

Verder lezen op cside

Simon Wijckmans
Founder & CEO

Founder and CEO of cside. Previously a product manager on Cloudflare Page Shield (now Cloudflare Client-Side Security). Co-chair of the W3C Anti-Fraud Community Group and a Forbes 30 Under 30 honoree. Building accessible security against client-side attacks, web security is not an enterprise-only problem.

FAQ

Frequently Asked Questions

Gedragsgebaseerde botdetectie identificeert automatisering aan hoe een sessie zich gedraagt, niet aan wat de browser rapporteert. Het leest het muispad, het scrollritme en de toetsaanslag-timing die een bezoeker live produceert, en scoort vervolgens of dat gedrag overeenkomt met een echt persoon of een machine. Omdat gedrag in realtime wordt gegenereerd als reactie op de pagina, is het veel moeilijker te faken dan een vingerafdruk, waardoor het AI-agenten vangt die CAPTCHA en IP-checks al passeerden.

Ja. Vingerafdruk- en CAPTCHA-checks testen wat een browser rapporteert en of hij op één moment een puzzel kan oplossen. Een agent die echte Chrome stuurt, passeert beide. Gedragssignalen lezen hoe de sessie in de tijd beweegt, scrollt en typt, wat live wordt geproduceerd en veel moeilijker te faken is. cside leest deze signalen vanuit je eigen first-party JavaScript, dus het vangt automatisering die de WAF al passeerde en de CAPTCHA al oploste.

Muisbeweging is één laag. Op zichzelf is die te verslaan, en tooling traint modellen nu om mensachtige cursorpaden te reproduceren. Gedrag lezen betekent muistraject, scrollritme, toetsaanslag-afstand en typeritme, de latency tussen acties, en of ingediende tekst door een mens is geschreven of door AI gegenereerd, met elkaar correleren. Die signalen spreken elkaar tegen, en dat verraadt de agent, meer dan welke losse stroom dan ook.

Dat kan, als je op één signaal blokkeert. Screenreaders, switch access, trackpads en assistieve invoer produceren allemaal timing en beweging die er ongebruikelijk uitziet. Daarom scoort cside over 100+ signalen en acteert het op convergentie, niet op één aflezing. Een sessie die met machineprecisie typt, een bekende automation-surface draait en van een datacenter-IP komt, verschilt sterk van een echte klant met assistieve technologie, en een gegradueerde reactie houdt die klant in beweging.

De gedragslaag leest timing en beweging, geen identiteit: wanneer toetsen worden ingedrukt en hoe de cursor beweegt, niet wie je bent. cside's AI-generated-text-engine is een apart signaal dat content evalueert die een bezoeker via een formulier indient, om te beoordelen of die door een mens is geschreven of door een AI. Beide draaien als first-party-signalen op de site die de bezoeker al gebruikt, en voeden een bot-risicoscore in plaats van een persoonlijk profiel.

Monitor en Beveilig Je Third-Party Scripts

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Start gratis, of probeer Business met een proefperiode van 14 dagen.

cside dashboard interface met script monitoring en beveiligingsanalytics
Related Articles
Boek een demo