← ZurĂŒck zum Blog

So entfernen Sie die Website-Detektor-Karte: Finden Sie die Fingerprint-Skripte selbst

Fall AliExpress: ein versteckter Audio-Fingerabdruck hat sich ĂŒber Bluetooth-Kopfhörer verraten. Wir analysieren eine praktische Methode – wie man in einer Stunde den Anti-Fraud-Anbieter identifiziert, seine Skripte findet, die Fingerprint-API in DevTools instrumentiert und sieht, welche Signale die Plattform tatsĂ€chlich erfasst und wohin sie gesendet werden.

📅25. August 2026
So entfernen Sie die Website-Detektor-Karte: Finden Sie die Fingerprint-Skripte selbst
```html

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-RAY in den Antwort-Headern und das Cookie cf_clearance — Cloudflare.
  • Cookie _abck und ein Skript mit der Funktion bmak — Akamai Bot Manager.
  • Variablen und Cookies mit dem PrĂ€fix _px — PerimeterX (HUMAN).
  • Cookie datadome und ein separates JS von der Domain des Anbieters — DataDome.
  • Ein leerer 429 ohne 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.js
  • assets.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:

  1. HTMLCanvasElement.prototype.toDataURL und getImageData — Canvas-Fingerprint.
  2. WebGLRenderingContext.prototype.getParameter — Modell der Grafikkarte und Treiber, Genauigkeit der Shader.
  3. AudioContext / OfflineAudioContext und AudioNode.prototype.connect — Audio-Fingerprint.
  4. Getter navigator.hardwareConcurrency, navigator.deviceMemory, navigator.plugins, navigator.webdriver.
  5. RTCPeerConnection — WebRTC und lokale Adressen.
  6. screen.width/height, devicePixelRatio, Intl.DateTimeFormat().resolvedOptions() — Bildschirm und Zeitzone.
  7. 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.

```