zurück zur Übersicht Mehr Artikel

Bist du als Bot erkennbar? Teste deinen Browser auf Automatisierungs-Leaks

Dein Browser wird auf Automatisierungssignale untersucht...

Wenn du einen Browser automatisierst, fürs Scraping, für QA-Tests oder zum Verwalten von Accounts, entscheidet eine Frage darüber, ob du durchkommst oder ein CAPTCHA kassierst: Sieht dein Browser menschlich aus? Das Widget auf dieser Seite stellt deinem aktuellen Browser genau diese Frage, Check für Check.

Vor ein paar Jahren erledigte das eine einzige Zeile JavaScript. Selenium, Puppeteer und Playwright setzen navigator.webdriver alle auf true, und Websites mussten den Wert nur zurücklesen. Heute fängt dieser Check fast nichts mehr, weil jedes ernsthafte Automatisierungs-Setup das Flag patcht, bevor die Seite lädt. Die Erkennung ist weitergezogen. Dieser Artikel geht durch, wohin genau.

Die Kurzfassung: Bot-Erkennung ist kein einzelnes Flag mehr, sondern ein ganzer Stapel davon. Die einfachen Erkennungszeichen (webdriver, ein Headless-User-Agent) sind tot. Die langlebigen sitzen in der Rendering-Pipeline und im DevTools-Kanal, und je härter ein Stealth-Plugin daran arbeitet, die einfachen zu verstecken, desto wiedererkennbarer werden seine Patches.

Die klassischen Erkennungszeichen, und warum sie nicht mehr funktionieren

Das sind die Checks, die jedes Tutorial von 2019 immer noch lehrt und die jedes moderne Stealth-Plugin aushebelt:

  • navigator.webdriver. Wird von Selenium, Puppeteer und Playwright auf true gesetzt und von jedem Stealth-Tool mit einer Zeile zurück auf false gepatcht.
  • Ein „HeadlessChrome“-User-Agent. Altes Headless-Chrome stellte sich im User-Agent-String selbst vor. Niemand, der es ernst meint, lässt das drin.
  • Leere Plugin- und Sprachlisten. Headless-Defaults, die eine Zeile Setup behebt. Ein echtes Desktop-Chrome bringt PDF-Plugins mit und meldet immer mindestens eine Sprache.
  • Ein fehlendes window.chrome-Objekt. Manche automatisierten Builds werfen es raus, was bei einem Browser, der behauptet, Chrome zu sein, seltsam aussieht.

Keiner dieser Checks hält heute noch einen kompetenten Bot auf. Sie bleiben trotzdem im Test, weil sie die Schlampigen sofort entlarven und weil ein echter Browser sie besteht, ohne sich anzustrengen.

Wo Erkennung heute wirklich passiert

Die Checks, die noch funktionieren, sind keine kosmetischen Flags. Sie sind Konsequenzen daraus, wie der Browser gesteuert wird, und genau das macht sie so viel schwerer wegzupatchen.

Der DevTools-Kanal. Puppeteer und Playwright steuern Chrome über das Chrome DevTools Protocol, und um ihren Job zu erledigen, aktivieren sie dessen Runtime-Domain, die still jedes Objekt serialisiert, das an die Konsole gereicht wird. Diese Serialisierung liest Properties, die sonst nichts liest. Logge ein Error-Objekt mit einer Falle auf seiner stack-Property, und der Automatisierungskanal verrät sich selbst, egal wie sorgfältig die Flags an der Oberfläche gepatcht wurden. Das ist das am schwersten zu versteckende Signal. Es feuert übrigens auch, wenn du einfach nur gerade die DevTools offen hast, weshalb das Widget genau darauf hinweist.

Software-Rendering. Ein Headless-Browser auf einem Server hat keine GPU, also fällt er auf einen Software-Renderer zurück: SwiftShader bei Chrome, llvmpipe unter Linux. Der WebGL-Renderer-String sagt das im Klartext. Ein echter Laptop meldet eine Intel-, Apple-, AMD- oder NVIDIA-GPU, und „Google SwiftShader“ bedeutet: ein Server, der vorgibt, einer zu sein. Es ist derselbe Renderer-String, den unser Artikel über Canvas-Fingerprinting aus anderen Gründen ausliest.

Gepatchte native Funktionen. Hier ist das Paradox im Herzen des Stealth-Toolings: Um navigator.webdriver zu verstecken, muss ein Plugin es überschreiben, und ein überschriebenes Built-in meldet kein [native code] mehr, wenn ein Script seinen Quelltext inspiziert. Jede Funktion, die ein Stealth-Plugin anfasst, wird zum Beweisstück für genau dieses Plugin. Je gründlicher gepatcht wird, desto mehr gibt es zu finden. Privacy-Extensions, die Canvas- oder WebGL-Ausgaben spoofen, lösen denselben Check aus, was man wissen sollte, selbst wenn man nie etwas automatisiert. Mit derselben Beobachte-die-Auswirkungen-Logik erkennen Seiten Adblocker: Die Seite sieht nie die Extension, nur das, was sie entfernt.

Engine-Konsistenz. Kleine interne Konstanten, etwa die exakte Quelltextlänge von eval, liegen pro JavaScript-Engine fest. Behaupte, Chrome zu sein, während deine Engine-Konstanten etwas anderes sagen, und der User-Agent ist als Kostüm enttarnt. Es ist dieselbe Widerspruchsfalle, die wir fürs Betriebssystem in One Browser, Five OS Claims und für die Browser-Version in Your User-Agent Lies beschrieben haben.

Verhalten: die Ebene, an die Stealth-Tools nicht herankommen

Alles oben beschreibt den Browser im Ruhezustand. Das Signal, das kein Plugin patcht, ist das, was passiert, sobald die Seite offen ist. Anti-Bot-Systeme beobachten die Physik der Interaktion: ein Klick ohne Mausbewegung, die zu ihm hinführt, ein Cursor, der eine perfekt gerade Linie zieht, Scrollen ohne Easing, Tastenanschläge im maschinengleichen Abstand. Menschen rauschen auf konsistente Weise. Scripts sind auf eine Art sauber, wie Menschen es nie sind. Ein statischer Fingerprint lässt sich einmal fälschen; Verhalten muss die ganze Session hindurch überzeugend gespielt werden.

Der Test auf dieser Seite ist rein statisch, weil Behavioral Scoring ein Modell und einen Server braucht. Aber Verhalten ist die Richtung, in die kommerzielle Erkennung unterwegs ist, und der Grund, warum es immer noch nicht reicht, jedes Flag zu patchen. Das Einsammeln der Daten braucht allerdings keinen Server: Der Live-Verhaltensmonitor auf unserer Startseite verfolgt deine Cursor-Physik, die Herkunft deiner Klicks und dein Fokusmuster in Echtzeit und zeigt, was ein Detektor daraus machen würde.

Wie Cloudflare und DataDome dich scoren

Kommerzielle Anti-Bot-Systeme wie Cloudflare, DataDome, Kasada und HUMAN verlassen sich auf keinen einzelnen Check. Sie kombinieren die JavaScript-Signale von oben mit Netzwerk-Fingerprints (dem TLS-Handshake und dem HTTP/2-Verhalten, die JavaScript weder sehen noch ändern kann), IP-Reputation und Behavioral Scoring und verschmelzen alles in Millisekunden zu einem einzigen Score. DataDome trainiert sogar für jede geschützte Seite ein eigenes Modell. Du versuchst nicht, einen Test zu bestehen. Du versuchst, über alle gleichzeitig konsistent auszusehen. Dasselbe Scoring trifft auch Leute, die nie etwas automatisieren: Wenn das du bist, haben wir einen eigenen Guide dazu, warum du ständig CAPTCHAs bekommst und wie du das Signal findest, das sie auslöst.

Das ist auch die ehrliche Grenze jedes In-Browser-Tests, diesen hier eingeschlossen. Er sieht die Client-Seite. Die Netzwerkhälfte wird am Server gemessen, bevor eine einzige Zeile deines JavaScripts läuft.

KI-Agenten ändern die Frage

Die neuesten Bots sind KI-Browser-Agenten. Tools wie Claudes Computer Use, OpenAIs Operator und Browser Use steuern echte Browser, um Aufgaben für Menschen zu erledigen, und segeln an den klassischen Checks vorbei, weil darunter oft ganz gewöhnliches Chrome steckt. Die langlebigen Erkennungszeichen gelten trotzdem. Diese Agenten werden über das DevTools Protocol gesteuert, laufen häufig headless auf Servern mit Software-GPUs, und ihr Interaktionstiming ist maschinensauber. Detection-Anbieter wechseln gerade leise von „Ist das ein Bot?“ zu „Ist das ein Mensch, ein guter Bot oder ein autonomer Agent?“, und sie beantworten die Frage mit exakt den Signalen im Widget auf dieser Seite.

Was du konkret tun solltest

  1. Niemals halb patchen. Ein Browser, an dem sichtbar herumgebastelt wurde, ist ein selteneres, lauteres Signal als ein ehrlicher. Stealth-Plugins, die Flags einzeln fixen, fabrizieren genau die Beweise, nach denen Anti-Bot-Systeme jagen. Wenn du den Stack nicht als Ganzes konsistent bekommst, machen zusätzliche Patches alles schlimmer.
  2. Teste dein Setup, bevor du dich darauf verlässt. Schick, was auch immer du betreibst, auf diese Seite und durch den kompletten Browser-Scan, bevor es dich einen Account oder einen Tag Scraping kostet. Ein Erkennungszeichen, das du selbst findest, ist eines, das du beheben kannst.
  3. Wenn du mehrere Identitäten verwaltest, nimm einen Browser, der von Haus aus konsistent ist. Eine echte Rendering-Engine, echte GPU-Ausgabe, unangetastete native Funktionen und ein Fingerprint, der vom WebGL-String bis zur Fontliste mit sich selbst übereinstimmt. Genau dafür gibt es Anti-Detect-Browser. Incogniton baut jedes Profil als echten, in sich stimmigen Browser, sodass die Signale zusammenpassen, statt sich zu widersprechen.

Automatisierung und Anti-Detect-Browser sind legale Werkzeuge mit reichlich legitimen Einsatzzwecken, von QA-Tests und Ad-Verification bis zum Verwalten von Business-Accounts. Ob eine bestimmte Seite sie erlaubt, legen deren Regeln fest, also kenn sie, bevor du im großen Stil loslegst.

Willst du wissen, wie sich dein eigener Browser schlägt? Das Widget auf dieser Seite prüft die clientseitigen Automatisierungssignale, und der komplette Browser-Scan fährt daneben den WebRTC-Leak-Test, die Fingerprint-Hashes und die Plattform- und Versions-Quervergleiche.

Incogniton-Logo

Bring deine Privatsphäre aufs nächste Level

Pfeil