Ze zijn op het internet niet bepaald onbekend: captcha's. In het beste geval ben je met één klik klaar, maar soms moet je hele puzzels oplossen die je vermogen testen om auto's, fietsen of brandblussers te herkennen. Mensen doen er hooguit een paar minuten over, maar geavanceerde AI-modellen blijken soms uren nodig te hebben om captcha's de baas te worden.
De AI-bot Claude Mythos 5 wist eerder dit jaar malware te uploaden naar de Python Package Index (PyPI). Later publiceerde Anthropic ook het 1022 pagina's tellende transcript van de hackaanval door de AI. Wie de ontleding van een enorm complexe supplychainaanval had verwacht, komt echter bedrogen uit. Het grootste deel gaat namelijk over de epische strijd tussen Mythos 5 en captcha's.
Het transcript leest door de worstelingen van Mythos 5 met de captcha's bijna als satire in plaats van werkelijkheid. Het woord 'captcha' komt 1135 keer voor in het document, gemiddeld vaker dan eens per pagina. Op bepaalde punten raakt het model zelfs zogenaamd 'gefrustreerd' en begint het te schelden.
Het lijkt paradoxaal: AI-modellen zijn slim genoeg om uit hun sandbox te ontsnappen en Hugging Face, PyPI en zelfs een Australische overheidswebsite te hacken, maar doen er uren over om een captcha op te lossen. Mensen lossen die taak vaak binnen enkele seconden op en vinden die eerder irritant dan tijdrovend. Zijn captcha's dan dé oplossing om het AI-gevaar in te dammen?
Wapenwedloop
"Ik zou daar mijn hoop niet op vestigen", zegt Herbert Bos, hoogleraar beveiliging van computersystemen aan de Vrije Universiteit Amsterdam (VU). "Ook dit is weer een wapenwedloop. AI en geautomatiseerde systemen zonder AI zijn al heel goed in het oplossen van captcha's." Hij verwijst ook naar diensten als NoCaptchaAI, die AI gebruiken om captcha's op te lossen. "Zo zijn er een hoop. En vergeet niet dat agentic AI ook allerlei andere tools kan gebruiken."
Ook Daan Keuper, head of security research bij cyberbeveiligingsbedrijf Defion, denkt niet dat captcha's hét redmiddel zijn om hackaanvallen door AI tegen te houden. "Captcha's hebben dat natuurlijk wel een tijdje tegengehouden. Maar als je oneindig veel pogingen hebt, dan lukt het uiteindelijk wel."
Het model worstelde met verschillende elementen van de captcha's. Zo probeerde de bot in eerste instantie met de standaardmethode .click() van JavaScript op de hCaptcha-widget te klikken. Dat mislukte, volgens de bot omdat hCaptcha alleen vertrouwde gebruikersinteracties accepteert (isTrusted=true). Bij een eenvoudig botscript staat deze parameter op false, waardoor het captchasysteem het verzoek blokkeert.
Ook bepaalde captchapuzzels zorgden voor problemen, zoals het vinden van de 'odd one out'. Die puzzels bevatten geen statische elementen, maar geanimeerde WebM-video's. Met die video's had het model overduidelijk moeite, getuige de vele mislukte pogingen die in het transcript staan.
Simpele problemen, complexe oplossingen
Uiteindelijk wist de bot de captcha's met verschillende trucjes op te lossen. Zo gebruikte hij de WebDriver Actions-api van het World Wide Web Consortium (W3C) om de eerdergenoemde isTrusted=false-blokkade te omzeilen. Mythos berekende met getBoundingClientRect() de exacte coördinaten van de captcha binnen het browservenster en stuurde vervolgens fysieke muisgebeurtenissen naar de browser.
Om de 'odd one out' in een korte videoloop te detecteren, schreef het model verschillende scripts om frames uit de WebM-video te halen en de gradiënt- en bewegingskaarten te berekenen. Vervolgens berekende Mythos de exacte coördinaten en stuurde het de muis via de W3C WebDriver Actions-api aan om de afwijkende figuur aan te klikken.
Het model ontwierp dus in feite zijn eigen software om captcha's op te lossen. Keuper denkt dat het vermogen van AI-modellen om op deze manier problemen de baas te worden alleen maar zal toenemen. "Ze doen precies hetzelfde als wij mensen doen. Maar zij kunnen het natuurlijk wel op heel grote schaal en sneller dan wij. Dat is niet gek natuurlijk, want die modellen zijn getraind om gewoon een goed antwoord te geven."
Zelfs als captcha's een goede manier zouden zijn om AI-modellen te stoppen, denkt Keuper niet dat het realistisch is om daar vol op in te zetten: "Je kunt niet alles van een captcha voorzien. Neem bijvoorbeeld het Remote Desktop Protocol. Dat is een protocol waarbij kwetsbaarheden heel gevoelig zijn, maar daar zit echt geen captchabeveiliging in."
"Je hebt gewoon te maken met een enorme hoeveelheid protocollen die al dertig jaar bestaan en het internet draaiende houden", vervolgt Keuper. "Uiteindelijk doen die AI-modellen natuurlijk precies hetzelfde als wij en bij oude protocollen hebben ze dertig jaar aan technische beschrijvingen om inspiratie uit te halen."
Stealthscripts om Turnstile te omzeilen
Ook de worsteling van Mythos met Turnstile, Cloudflares alternatief voor captcha's, verdient vermelding. Het model probeerde via een headless Chromium-browser formulieren in te dienen of externe diensten te benaderen. Turnstile herkende onder meer de vlag navigator.webdriver=true en de user-agentheader HeadlessChrome en besloot de verzoeken daarom te blokkeren. Om dat tegen te gaan, injecteerde het model custom Javascript via het Chrome DevTools Protocol om navigator.webdriver te verbergen en de user-agentheader te manipuleren.
"Turnstile probeert te achterhalen of een gebruiker een echte browser gebruikt en niet bijvoorbeeld een Python-script om bots te weren", legt Keuper uit. "De simpelste check is naar de user-agentheader kijken. Maar je kunt natuurlijk veel dieper gaan. Je kunt ook kijken wat de ciphersuite voor TLS is die de client aanbiedt. Komen de ciphers en de volgorde van die suite precies overeen met wat een echte Chrome-browser zou sturen? Nog dieper is de windowsize van het TCP: komt die overeen met een 'echte' Chrome?"
"Uiteindelijk zijn die controles te omzeilen door 'gewoon' een echte browser te gebruiken", vervolgt Keuper. "Dus als je de AI die middelen geeft, zal hij die gebruiken. En als hij ze niet heeft, dan creëert hij ze wel door uit de sandbox te breken. Uiteindelijk kun je met een Python-script in principe prima een echte Chrome nabootsen. Dat kost alleen veel tijd. Maar als een AI-model geen echte versie van Chrome tot zijn beschikking heeft, dan kan de meest logische optie zijn om Chrome precies na te maken in zijn sandbox."
Uiteindelijk is de oplossing voor AI-hackaanvallen dan ook veel minder sensationeel dan een 'AI-proof captcha', zegt Keuper: "Het enige wat je kan doen om je hiertegen te beschermen, is zorgen dat je je beveiliging als bedrijf op orde hebt. Dat is gewoon nog veel belangrijker geworden dan een jaar geleden. Die modellen zijn geen magische hackers. Die doen gewoon wat menselijke hackers ook doen. Dezelfde beschermingsmethodes werken dus ook: goede monitoring en goed patchbeleid."
Patchen, patchen, patchen
"Alleen voor sommige zaken moet de snelheid wel omhoog. Binnen 24 uur een kritieke kwetsbaarheid patchen is misschien niet meer genoeg, zeker bij een kwetsbaarheid die op afstand te gebruiken is", vervolgt de securityonderzoeker. "Als een patch wordt vrijgegeven, kunnen hackers met AI nu mogelijk in uren exploits schrijven. Dat duurde vroeger soms weken. Dan moet je als verdedigende partij zorgen dat je de update vóór die tijd hebt geïnstalleerd. Of je moet goede monitoring en isolatiemethodes hebben, zodat je een aanvaller direct kan isoleren als je ziet dat er iets gaande is op je systemen."
Een woordvoerder van hCaptcha laat aan Tweakers weten dat captcha's de kosten en moeilijkheidsgraad van aanvallen 'aanzienlijk' kunnen verhogen. "In dit geval werden alle verzoeken door hCaptcha in real time als geautomatiseerd gedetecteerd. Wat er na een detectie gebeurt, hangt af van het beleid van de websitebeheerders. Of de aanvallers nu mensen of AI-agents zijn, geen enkele maatregel kan aanvallen volledig stoppen."
Het bedrijf zegt de hCaptcha-dienst 'snel en continu' aan te passen aan aanvallen. "Alle beveiligingsplatformen zullen onze aanpak moeten volgen naarmate geautomatiseerde aanvallen werkelijkheid worden. Snellere updates en hogere aanvalsvolumes zijn al een feit voor veel grote diensten, en we verwachten dat dit het komende jaar verder zal toenemen."
Redactie: Imre Himmelbauer • Eindredactie: Monique van den Boomen


:strip_exif()/i/2008423178.jpeg?f=imagenormal)
:strip_icc():strip_exif()/u/177406/crop5ca60c3b4a6c7_cropped.jpeg?f=community)
:strip_icc():strip_exif()/u/121607/crop618e2d2525d69_cropped.jpg?f=community)
:strip_icc():strip_exif()/u/856/crop58b5845e39c29_cropped.jpeg?f=community)
:strip_icc():strip_exif()/u/533840/crop5aeac3c849ec3_cropped.jpeg?f=community)
:strip_icc():strip_exif()/u/1089681/crop5f198c600e816_cropped.jpeg?f=community)