Am 20. August 2026 veröffentlichte der Entwickler Matt Callaghan (Blog laserphile) eine Analyse eines seltsamen Fehlers: Seine Bluetooth-Kopfhörer mit Multipoint wechselten nicht von seinem Computer auf sein Telefon. Jedes Mal, wenn ein Tab von AliExpress geöffnet war. Er begann nicht zu spekulieren â er instrumentierte die Browser-APIs und schaute, was auf der Seite geschah. Es stellte sich heraus, dass zwei obfuskierten Skripte aus dem Anti-Fraud-Stack von Alibaba den Audiokontext anforderten und das GerĂ€t ĂŒber einen unhörbaren Ton fingerprinteten.
Dies ist eine perfekte Veranschaulichung dessen, was fast niemand vor der Konfiguration von Profilen oder dem Start eines Parsers tut: den Detektions-Stack der Plattform nicht zu lesen, sondern zu erraten. Im Folgenden finden Sie eine praktische Methode, wie Sie selbst innerhalb einer Stunde die Detektionskarte einer bestimmten Website erstellen können, ohne Reverse-Obfuskation und ohne kostenpflichtige Dienste.
Warum eine Detektionskarte erstellen
Ein typischer Zyklus sieht so aus: Konten werden gesperrt â wir drehen die Einstellungen des Anti-Detect-Browsers nach dem Zufallsprinzip â Ă€ndern die Proxys â werden erneut gesperrt. Zwischen âgesperrtâ und âEinstellungenâ gibt es keine Daten: Unklar bleibt, was genau die Plattform liest und auf welcher Ebene sie fĂ€ngt.
Die Detektionskarte schlieĂt diese LĂŒcke. Es ist eine Liste: Welcher Schutzanbieter verwendet wird, welche Skripte ihn implementieren, welche APIs sie berĂŒhren und wohin das Ergebnis geht. Dann wird deutlich, wo tatsĂ€chlich der Engpass liegt â in der IP, im Netzwerk-Fingerprint oder in der Hardware-Schicht des Browsers. Dies ist fĂŒr drei Zielgruppen gleichermaĂen nĂŒtzlich:
- Multi-Accounting â zu verstehen, welches Signal die Profile zusammenfĂŒhrt. Ihre IPs sind unterschiedlich, aber der Audio-Stack, der WebGL-Renderer und hardwareConcurrency sind oft fĂŒr die gesamte Farm gleich.
- Scraping â zu verstehen, ob es ĂŒberhaupt sinnvoll ist, den Browser zu starten oder ob die Aufgabe mit einem HTTP-Client und einem korrekten TLS-Fingerprint gelöst werden kann.
- PrivatsphĂ€re â zu sehen, was genau der Shop oder Dienst ĂŒber Ihr GerĂ€t neben Cookies sammelt.
Schritt 1. Den Schutzanbieter ĂŒber das Netzwerk identifizieren
Das Erste, was Sie tun, ist, die DevTools auf dem Tab âNetzwerkâ zu öffnen, die Seite zu laden und die Header und Cookies des ersten Dokuments zu ĂŒberprĂŒfen. Die Erkennungszeichen sind bekannt und stabil:
CF-RAYin den Antwort-Headern und das Cookiecf_clearanceâ Cloudflare.- Cookie
_abckund ein Skript mit der Funktionbmakâ Akamai Bot Manager. - Variablen und Cookies mit dem PrĂ€fix
_pxâ PerimeterX (HUMAN). - Cookie
datadomeund ein separates JS von der Domain des Anbieters â DataDome. - Ein leerer
429ohne Antwortkörper â ein typisches Zeichen von Kasada.
Wenn Sie es manuell nicht tun möchten, gibt es öffentliche Detektoren wie microlinkhq/is-antibot (30+ Anbieter) und Browsererweiterungen-Detektoren fĂŒr 26+ Anbieter. Sie geben eine schnelle erste Antwort, beantworten jedoch nicht die Hauptfrage â was genau in Ihrem Browser gemessen wird. DafĂŒr mĂŒssen Sie weiter gehen.
Schritt 2. Eine Liste verdÀchtiger Skripte extrahieren
Filtern Sie das Netzwerk nach dem Typ JS und notieren Sie alles, was nicht von der Hauptdomain geladen wird oder in Dienstverzeichnissen liegt. Im Fall von AliExpress waren dies zwei Dateien mit eindeutig dienstlichen Pfaden:
assets.aliexpress-media.com/g/AWSC/uab/1.140.0/collina.jsassets.aliexpress-media.com/g/AWSC/fireyejs/1.231.67/fireyejs.js
Zeichen eines Anti-Fraud-Skripts: obfuskierten Code, Versionsnummer im Pfad, separate Subdomain fĂŒr Statische Inhalte, keine Verbindung zum visuellen Teil der Seite. Es ist nicht nötig, die Obfuskation zu öffnen und zu lesen â im nĂ€chsten Schritt wird das Skript selbst ĂŒber sich erzĂ€hlen.
Schritt 3. Fingerprint-API instrumentieren
Dies ist der Kern der Methode und genau das, was Callaghan getan hat: Er hat den Konstruktor AudioContext und AudioNode.prototype.connect() umwickelt, nachdem er zwei aktive Audiokontexte auf der Seite sah, wo es kein einziges Medienelement und keinen einzigen Aufruf von play() gab.
Die Logik ist einfach: Sie ersetzen die Methode, die Sie interessiert, durch Ihre eigene Wrapper-Funktion, die den Aufruf mit dem Stack protokolliert und die Kontrolle an das Original ĂŒbergibt. Der Aufruf-Stack zeigt, welches Skript die API tatsĂ€chlich aufgerufen hat. Es ist am bequemsten, einen solchen Snippet ĂŒber DevTools Sources â Snippets oder ĂŒber eine Erweiterung, die den Code beim document-start ausfĂŒhrt, einzufĂŒgen â es ist wichtig, dies vor dem Laden des Anti-Fraud-Skripts zu tun.
Das minimale Set an Fallen, das die meisten Signale abdeckt:
HTMLCanvasElement.prototype.toDataURLundgetImageDataâ Canvas-Fingerprint.WebGLRenderingContext.prototype.getParameterâ Modell der Grafikkarte und Treiber, Genauigkeit der Shader.AudioContext/OfflineAudioContextundAudioNode.prototype.connectâ Audio-Fingerprint.- Getter
navigator.hardwareConcurrency,navigator.deviceMemory,navigator.plugins,navigator.webdriver. RTCPeerConnectionâ WebRTC und lokale Adressen.screen.width/height,devicePixelRatio,Intl.DateTimeFormat().resolvedOptions()â Bildschirm und Zeitzone.navigator.mediaDevices.enumerateDevicesâ Liste von Audio- und Video-GerĂ€ten.
Nach dem Durchlauf haben Sie eine Liste: welche dieser APIs tatsĂ€chlich aufgerufen wurden, wie oft und von wem. Im analysierten Fall berĂŒhrten die Skripte von Alibaba das Canvas und toDataURL, den WebGL-Renderer und die Genauigkeit der Shader, Audio ĂŒber Oszillator und Analyzer, BildschirmgröĂen und devicePixelRatio, hardwareConcurrency und deviceMemory, Plugins, Codec-UnterstĂŒtzung, WebRTC, Leistungszeitmessungen, Mausbewegungsmuster und BerĂŒhrungen, Bewegungssensoren des GerĂ€ts und Automatisierungsindikatoren.
Was genau die Audio-Grafik gemacht hat
Es ist nĂŒtzlich zu verstehen, wie die Messung aussieht, um sie an anderen Orten zu erkennen. Die Grafik war so: sĂ€gezahnförmiger Oszillator â AnalyserNode â ScriptProcessorNode, der das Analyseergebnis liest â GainNode mit null VerstĂ€rkung â destination. Es gibt keinen Ton, die LautstĂ€rke spielt keine Rolle â sie ist einfach nicht vorhanden. Aber die Verbindung zu destination, so der Autor, zwingt den Browser, die Grafik aktiv zu verarbeiten, obwohl die endgĂŒltige LautstĂ€rke null betrĂ€gt. Genau dieser aktive Audioweg hielt den Bluetooth-Pfad offen und störte das Multipoint-Umschalten der Kopfhörer.
Die Unterschiede in der Verarbeitung dieses Signals hĂ€ngen vom Prozessor, der Audio-Hardware, dem Betriebssystem, dem Browser und den Treibern ab â daher der stabile Identifikator, der den IP-Wechsel und das Löschen von Cookies ĂŒbersteht. Eine detaillierte Analyse genau dieser Schicht und die Anpassung von Profilen dafĂŒr finden Sie im Artikel ĂŒber Schutz vor Audio Context Fingerprinting.
Schritt 4. Den Versand des Ergebnisses abfangen
Das Sammeln ohne Versand ist sinnlos, daher besteht der nĂ€chste Schritt darin, herauszufinden, wohin der gesammelte Fingerabdruck geht. Filtern Sie das Netzwerk nach XHR/Fetch und sehen Sie sich separat Anfragen vom Typ ping an â diese werden von navigator.sendBeacon erzeugt, das von Telemetrieskripten gerne verwendet wird, da es das Verlassen der Seite ĂŒbersteht.
Es ist praktisch immer nĂŒtzlich, zusĂ€tzlich fetch, XMLHttpRequest.prototype.send und navigator.sendBeacon zu umwickeln â dann sehen Sie den Anfrageinhalt, bevor er gesendet wird. Bereiten Sie sich darauf vor, dass der Inhalt serialisiert und verschlĂŒsselt wird: Im Fall von AliExpress wurden die Daten vor dem Versand an die Telemetrie von Alibaba verschlĂŒsselt. Aber selbst so erhalten Sie zwei Fakten: die Adresse des EmpfĂ€ngers und den Zeitpunkt des Versands in Bezug auf Ihre Aktionen.
Wenn die Website nicht nur im Browser, sondern auch ĂŒber eine mobile Anwendung oder einen separaten Client funktioniert, wird dieselbe Frage auf der Ebene des Datenverkehrs und nicht des DOM gelöst â die Methode des Abfangens und der Analyse ist im Artikel ĂŒber Traffic-Audit ĂŒber mitmproxy beschrieben.
Schritt 5. Die Karte mit Ihrem Profil abgleichen
Jetzt haben Sie eine Liste von Signalen, die die Plattform tatsĂ€chlich liest. Es bleibt zu ĂŒberprĂŒfen, was Ihr Arbeitsprofil zu diesen Signalen zurĂŒckgibt. Die Reihenfolge ist wie folgt: Sie erfassen die Werte in einem normalen Browser, dann in jedem Profil des Anti-Detect-Browsers und vergleichen.
Es sind zwei Dinge gleichzeitig wichtig: Die Werte mĂŒssen zwischen den Profilen unterschiedlich sein und innerhalb eines Profils zwischen den Sitzungen stabil sein. Ein Profil, dessen Fingerabdruck bei jedem Start springt, sieht fĂŒr Anti-Fraud nicht weniger verdĂ€chtig aus als zehn Profile mit identischem Fingerabdruck.
ĂberprĂŒfen Sie auĂerdem, ob die Substitution ĂŒberhaupt auf der benötigten Ebene existiert. Hier ist die Streuung zwischen den Browsern aufschlussreich: Firefox ab Version 118 gibt einen konstanten WebAudio-Ausgang zurĂŒck, und laut Analyse reduzieren sich 99,24 % der Benutzer auf drei Werte; Brave mischt zufĂ€llige Daten ein und blockiert seit dem 22. August 2026 genau diese Skripte von AliExpress, was daran erinnert, dass der Schutz vor Audio-Fingerprinting bei ihm standardmĂ€Ăig seit ĂŒber sechs Jahren aktiv ist; Safari mischt Fehler in die Audiopuffer; Chrome hat keinen aggressiven Schutz.
Fallstricke
- Das Skript hat bereits gearbeitet. Das Blockieren der Datei löscht den bereits erstellten Audiokontext nicht â der Autor weist ausdrĂŒcklich darauf hin, dass offene Tabs geschlossen werden mĂŒssen. Das gilt auch fĂŒr Ihre Instrumentierung: Wenn der Wrapper nach dem Skript geladen wurde, sehen Sie nichts.
- Das Blockieren beeintrĂ€chtigt die FunktionalitĂ€t. Der Anti-Fraud-Stack ist oft auch fĂŒr legitime Dinge verantwortlich â Autorisierung, Zahlung, Anti-Bot-Schutz vor echtem Missbrauch. Eine Detektionskarte zu erstellen und Skripte zu entfernen, sind unterschiedliche Aufgaben; die zweite zerstört die Website.
- Es gibt nicht nur eine Version der Detektion. Der Stack kann je nach Geo, GerÀtetyp und A/B-Gruppe variieren. Es macht Sinn, die Karte von der IP und dem GerÀt zu erstellen, von dem aus Sie tatsÀchlich arbeiten, sonst beschreiben Sie eine fremde Konfiguration.
- Die Instrumentierung selbst wird erkannt. Ăberschriebene native Methoden verlieren das korrekte
toString, und ein angeschlossener Debugger hinterlĂ€sst Spuren. FĂŒr die Erkundung ist das nicht kritisch, aber verwechseln Sie nicht das Erkundungsprofil mit dem Produktionsprofil â die Techniken zur Maskierung von Automatisierung sind im Leitfaden zur Maskierung von Headless-Browsern behandelt.
Welcher Proxy fĂŒr das Ergebnis benötigt wird
Die wichtigste praktische Erkenntnis aus einer solchen Karte ist fast immer die gleiche: Die IP ist nur die erste Schicht, und sie wird frĂŒher als alle anderen ĂŒberprĂŒft. Wenn der Anti-Fraud bereits auf der Anfrageebene die Adresse des Hostings sieht, wird es einfach nicht zu dem Audio-Graphen und dem Canvas kommen â Sie erhalten eine Herausforderung oder eine leere Ausgabe und reparieren das Falsche.
Deshalb ist die Logik der Auswahl wie folgt. FĂŒr Plattformen mit ernsthaftem Stack (Akamai, DataDome, PerimeterX, eigene Entwicklungen auf Alibaba-Niveau) dienen residential Proxies als Basis â Adressen echter Anbieter, die nicht beim ersten Filter ausgeschlossen werden. FĂŒr mobile Anwendungen und Plattformen, auf denen die Hauptzielgruppe mit Smartphones arbeitet, erweisen sich mobile Proxies als nĂ€her am natĂŒrlichen Profil: Der Betreiber-CGNAT macht die Adresse von vornherein zwischen vielen aktiven Nutzern geteilt.
Und umgekehrt gilt das auch: Wenn die Karte gezeigt hat, dass die Plattform sich auf Header und Cookies beschrĂ€nkt und kein schweres JS-Fingerprinting vorhanden ist, ist eine Browserfarm ĂŒberflĂŒssig, die Aufgabe kann mit einem normalen HTTP-Client und Rechenzentrumsadressen gelöst werden.
Fazit
Der Fall mit den Kopfhörern ist nicht wegen des Faktums des Audio-Fingerprints wertvoll â darĂŒber ist seit Jahren bekannt. Wertvoll ist die Methode: Der Mensch glaubte nicht den Vermutungen, sondern wickelte zwei Methoden der Browser-API und erhielt an einem Abend eine vollstĂ€ndige Liste dessen, was von ihm erfasst wird, und die Adresse, wohin es geht. Dieselbe Technik dauert eine Stunde auf jeder Plattform, mit der Sie arbeiten, und ersetzt Monate des zufĂ€lligen Einstellens. Erstellen Sie die Detektionskarte, bevor Sie die Sperren beheben â andernfalls besteht das Risiko, das Budget fĂŒr Proxys auszugeben, wo das Problem im identischen WebGL-Renderer auf allen Profilen lag.
```