Credential stuffing is een geautomatiseerde aanval die op grote schaal gebruikersnaam-wachtwoordparen, gelekt bij eerdere datalekken, opnieuw afspeelt op je login-endpoints. Aanvallers rekenen op wachtwoordhergebruik: een paar dat van één site is gestolen, werkt vaak op tientallen andere. Het is geen raden. De inloggegevens zijn al geldig, en de aanvaller controleert waar ze nog steeds een account openen.
Hieronder lees je hoe de aanval werkt, waarom hij blijft lonen, hoe AI-agentbots hem lastiger te vangen maken, en welke loginsignalen en controles hem detecteren en stoppen.
Wat is credential stuffing, en waarom werkt het?
De werking is simpel. Aanvallers stellen combolists samen van gelekte gebruikersnaam-wachtwoordparen en draaien die vervolgens met geautomatiseerde tools tegen de login-API van een doelwit. Ze hebben geen hoog slagingspercentage nodig. Zelfs een fractie van een procent over miljoenen pogingen levert duizenden werkende accounts op.
Het werkt omdat mensen wachtwoorden hergebruiken. Twee op de drie Amerikanen hergebruiken wachtwoorden op verschillende accounts, volgens security.org, wat betekent dat één datalek veel meer compromitteert dan alleen de gelekte dienst. Dat hergebruik vormt de hele economische basis van de aanval.
Credential stuffing verschilt van brute force, en dat verschil is belangrijk voor detectie:
- Brute force raadt veel wachtwoorden op één account. Het verkeer is luidruchtig en eenvoudig te rate-limiten.
- Credential stuffing speelt bekende, geldige paren opnieuw af op veel accounts. Het verkeer lijkt meer op normale logins, met hogere slagingspercentages en minder volume per account.
Omdat de inloggegevens echt zijn en het volume per account laag, gaat stuffing op in legitiem login-verkeer. Daarom vangt één enkele drempelwaarde het zelden.
Hoe maken AI-agentbots credential stuffing erger?
Oudere stuffing-tools waren bot: hoge requestsnelheden vanaf een handvol IP's, standaard user agents, geen echte browser. Rate limits en basale botdetectie handelden het meeste af. Dat tijdperk loopt ten einde.
De nieuwe golf draait via stealth-browsers en AI-agents die zich veel meer als mensen gedragen. Ze:
- Wisselen apparaat- en browser-fingerprints af tussen pogingen om niet samen gegroepeerd te worden
- Lossen CAPTCHA's op, inclusief beeld- en gedragsuitdagingen
- Bootsen menselijke timing, muisbewegingen en navigatiepatronen na
- Verdelen verkeer over grote pools van residentiële proxy's om IP-gebaseerde limieten te omzeilen
- Passen zich in realtime aan op hoe je verdediging reageert
Stealth-browserkits horen inmiddels bij de standaard automatiseringstoolkit. Het aantal installaties van playwright-stealth, een van de vele stealth-browserkits, steeg in 2025 met een factor 10 volgens onderzoek van cside. De tooling om overtuigende geautomatiseerde logins te draaien is goedkoop en breed beschikbaar.
Verdediging die alleen signalen op netwerkniveau inspecteert, mist de helft van het plaatje. De browser is waar de bot opereert, en waar de aanwijzingen zitten.
Welke loginsignalen verraden credential stuffing?
Detectie werkt het best als een combinatie van signalen, niet één regel. De OWASP Credential Stuffing Prevention Cheat Sheet beveelt aan om controles te stapelen in plaats van te vertrouwen op één enkele check, omdat aanvallers hun gedrag afstemmen om langs afzonderlijke drempelwaarden te glippen.
De onderstaande tabel koppelt de waardevolste signalen aan wat ze aangeven en hoe je erop kunt handelen.
| Signaal | Wat het aangeeft | Hoe te handelen |
|---|---|---|
| Login-piek / snelheidsuitschieter | Gescript herafspelen van veel inloggegevenparen op je endpoint | Rate-limit en rem per IP, per account en per fingerprint; verhoog de uitdagingen |
| Fingerprint van headless- of stealth-browser | Automatisering die zich voordoet als een echte browser | Blokkeer of daag de sessie uit; stuur door naar bot- en AI-agentdetectie |
| Veel accounts vanaf één apparaat of browser | Eén actor die een combolist op meerdere accounts test | Markeer het apparaat en eis bij elke poging extra verificatie (step-up) |
| Onmogelijke reis | Hetzelfde account logt in vanaf locaties die in de verstreken tijd niet bereikbaar zijn | Forceer herauthenticatie en bekijk recente accountwijzigingen |
| Match met gelekte inloggegevens | Het ingediende paar komt voor in bekende lekdata | Forceer een wachtwoordreset vóór toegang; blokkeer het inloggegeven bij reset |
| Hoge verhouding mislukt-dan-geslaagd | Aftasten dat uiteindelijk een geldig paar raakt | Plaats de sessie in quarantaine en eis phishingbestendige MFA |
| VPN, proxy of bekend kwaadaardig IP | Verkeer geleid via een onduidelijke oorsprong of dat een gemarkeerde bron hergebruikt | Verhoog de risicoscore; combineer met andere signalen voordat je blokkeert |
Geen enkele rij is op zichzelf bewijs. De sterkste detectie ontstaat wanneer meerdere tegelijk afgaan binnen één sessie, bijvoorbeeld een stealth-browser-fingerprint plus een login-piek plus een match met gelekte inloggegevens. Een echte gebruiker produceert bijna nooit die combinatie.
Dit is ook waar zichtbaarheid op browserniveau telt. Login-pieken en IP-reputatie verschijnen serverzijdig, maar stealth-browsers, het afwisselen van fingerprints en AI-agentgedrag komen alleen aan het licht wanneer je kunt lezen wat de browser daadwerkelijk doet.
Hoe stop je credential stuffing?
Detectie vertelt je dat een aanval gaande is. Het stoppen ervan vraagt om gelaagde controles, zodat het omzeilen van één controle het account niet zomaar uit handen geeft. Werk deze in deze volgorde af:
- Dwing phishingbestendige MFA af op waardevolle logins. Passkeys en hardware-beveiligingssleutels zijn phishingbestendig en weren herafgespeelde inloggegevens regelrecht af, omdat een geldig wachtwoord alleen niet genoeg is. OWASP noemt MFA een belangrijkste verdediging tegen credential stuffing. Eenmalige codes via sms en e-mail zijn zwakker, dus reserveer de sterkste methoden voor gevoelige flows.
- Blokkeer bekende gelekte wachtwoorden. Controleer wachtwoorden tegen lekdatabases bij registratie en bij reset, en wijs matches af. Als een huidig inloggegeven later in een datalek opduikt, forceer dan een reset voordat een aanvaller het kan gebruiken.
- Rate-limit en rem login-endpoints af. Pas limieten toe per IP, per account én per apparaat-fingerprint, niet alleen per IP, omdat aanvallers zich over proxy-pools verdelen. Voeg progressieve vertragingen en uitdagingen toe naarmate het risico stijgt.
- Voeg fingerprinting plus bot- en AI-agentdetectie toe. Gebruik browser- en apparaat-fingerprinting om automatisering, stealth-browsers en de AI-agents die fingerprints afwisselen en CAPTCHA's oplossen te identificeren. Filter dat verkeer voordat het de authenticatie bereikt.
- Reageer snel wanneer een sessie er gecompromitteerd uitziet. Trek actieve sessies in, maak tokens ongeldig en forceer herauthenticatie. Bekijk accountwijzigingen die na de verdachte login zijn doorgevoerd, zoals een gewijzigd e-mailadres, telefoonnummer of uitbetalingsgegevens.
MFA is fundamenteel, en op zichzelf niet voldoende. Aanvallers kunnen nog steeds gestolen sessies, adversary-in-the-middle-phishingproxy's en zwakke herstelflows misbruiken. MFA combineren met signalen op browser- en apparaatniveau dicht die gaten. Dezelfde gelaagde aanpak ligt ten grondslag aan bredere bescherming tegen accountovername, aangezien credential stuffing de meest voorkomende weg naar ATO is.
Waar past de browserlaag in?
Echte gebruikers, frauduleuze gebruikers en bots bereiken je login allemaal via een browser. Daardoor is de browser zowel een afleverkanaal voor kwaadaardige code als een rijke bron van signalen over wie er echt inlogt.
Twee realiteiten op browserniveau bepalen de verdediging tegen credential stuffing:
- De browser legt automatisering bloot die het netwerk verbergt. Stealth-browsers, headless-runtimes, het afwisselen van fingerprints en AI-agentgedrag zijn zichtbaar in de browseromgeving, niet in een netwerkpakket. Het lezen van die signalen scheidt gescripte logins van menselijke.
- De browser kan zelf het aanvalsoppervlak zijn. Een gecompromitteerd of geïnjecteerd third-party script op je loginpagina kan inloggegevens skimmen voordat je server de request ooit ziet, of gebruikers omleiden naar een nagemaakte login. Monitoring met client-side security vangt manipulatie van scripts die netwerkcontroles missen.
cside is een client-side securityplatform dat is gebouwd voor de browserlaag. Het combineert AI-agentdetectie met apparaat- en browser-fingerprinting om de signalen uit de bovenstaande tabel aan het licht te brengen, en levert ze vervolgens als ruwe signalen via API, zodat developer-gedreven teams ze kunnen inpluggen in hun eigen risicologica voor login en herstel. Omdat de analyse geworteld is in de browser, vangt het stealth-browsers en AI-agentbots die verouderde, alleen op netwerk gerichte tooling niet ziet.
Wat moeten teams als eerste doen?
Je hoeft niet elke controle tegelijk uit te rollen. Een praktische volgorde:
- Zet het blokkeren van gelekte wachtwoorden aan bij registratie en reset. Het kost weinig moeite en haalt een groot deel van de bruikbare inloggegevens weg.
- Dwing phishingbestendige MFA af op je waardevolste logins voordat je het breder uitrolt.
- Voorzie je login van de bovenstaande detectiesignalen en stem drempelwaarden af op combinaties in plaats van op losse regels.
- Voeg fingerprinting op browserniveau en AI-agentdetectie toe, zodat je de automatisering kunt zien die netwerksignalen missen.
Credential stuffing slaagt door wachtwoordhergebruik en goedkope automatisering. Bestrijd het eerste met MFA en controles op gelekte wachtwoorden, en het tweede met rate-limiting en detectie op browserniveau.
Wil je de signalen op browserniveau in actie zien? Boek een demo of bekijk de prijzen van cside.







