Zum Inhalt springen
Identität · in die Engine kompiliert

Kontrolle über den Browser-Fingerprint, in der Engine

Ein Browser-Fingerprint besteht aus Dutzenden Werten, die zusammen Sinn ergeben müssen. Clearcote leitet sie aus einem Seed ab und liefert sie über Chromiums eigene Codepfade. Eine Seite, die GPU, Bildschirm und Schriften ausliest, bekommt so Antworten, die zu einem plausiblen Rechner gehören, mit passend eingestellter Sprache und Zeitzone – im Hauptframe, in iframes und in Workern.

Seed-Persona und Rauschen pro Website sind in jedem Tarif enthalten, auch im offenen Build.

Ein Seed, eine Identität

import { launch } from "clearcote";

// the same seed returns the same identity; a new seed is a new one
const browser = await launch({
  fingerprint: "account-42",
  timezone: "America/New_York",
  acceptLanguage: "en-US,en",
});

Highlights

Ein Seed, ein Rechner

--fingerprint leitet eine stimmige Persona ab: CPU- und Speicherklasse, Bildschirm, Farbtiefe, GPU, Stimmen, Codecs und Mediengeräte, die zusammenpassen.

Pro Website, nicht global

Das Canvas- und WebGL-Rauschen wird pro Website abgeleitet, nach dem Farbling-Modell von Brave. Diese Hashes unterscheiden sich also von Website zu Website, während die Hardware, die die Persona meldet, überall gleich bleibt – wie bei einem echten Rechner.

Nativ in jedem Realm

Die Werte kommen aus C++-Gettern. toString, Property-Deskriptoren und ein frischer iframe oder Worker sehen also alle nativen Code und dieselbe Antwort.

Eine GPU, die sich nicht widerspricht

WebGL-Vendor und -Renderer bleiben für die Session konstant, die getParameter-Limits folgen dieser GPU, soweit dieser Rechner sie abdecken kann, und WebGPU beschreibt denselben Adapter.

Einen echten Rechner importieren

Laden Sie ein Profil, das von einem echten Chrome erfasst wurde, oder wählen Sie eines aus der offenen Profilbibliothek – seine Werte ersetzen dann die synthetischen.

Zurückdrehen, wo es darauf ankommt

lightStealth variiert nur die unbedenklichen Metadaten. fingerprintNoise: false behält die Identität bei und lässt das Canvas- und WebGL-Rauschen dort weg, wo das Rauschen selbst bewertet wird.

Warum Konsistenz mehr zählt als clevere Werte

Erkennung hängt selten an einem einzelnen ungewöhnlichen Wert. Sie sucht nach Widersprüchen: ein GPU-String, zu dem die Pixel nicht passen, eine Zeitzone, die der IP widerspricht, ein Worker, der andere Hardware meldet als die Seite. Die Frage, die Clearcote beantwortet, lautet also nicht, welche Werte man fälscht, sondern wie man alle untereinander und mit dem Rechner darunter konsistent hält.

Der Seed ist deterministisch. Derselbe Seed erzeugt bei jedem Start dieselbe Identität, wie ein wiederkehrender Besucher, und ein neuer Seed eine frische. Canvas-2D- und WebGL-Readbacks tragen eine kleine Störung pro Seed und pro Website, weil Readbacks schon zwischen echten Rechnern variieren. Gerendertes Audio und Client-Rects bleiben bewusst exakt: Sie zu stören erzeugt Werte, die kein echter Browser ausgibt – ein deutlicheres Signal, als wenn sich zwei Profile einen Hash teilen. Die Fingerprint-Dokumentation geht jedes Merkmal einzeln durch.

Manche Angaben kann der Host nicht decken, und die Dokumentation sagt das offen. Eine Bildschirmgröße, die nicht zum echten Fenster passt, oder eine GPU, mit der der Rechner gar nicht rendern kann, wird gegen den Host geprüft und fällt durch. Deshalb behält lightStealth den echten Bildschirm und Bildschirm-Overrides gibt es nur per Opt-in, deshalb gibt es die Canvas-Bridge, und deshalb variiert der empfohlene Ausgangspunkt weniger statt mehr.

Was abgedeckt ist

MerkmalWas Clearcote macht
Canvas-2D- und WebGL-ReadbackRauschen pro Seed und pro Website, innerhalb der natürlichen Streuung zwischen echten Rechnern
WebGL-Renderer und -LimitsEine für die Session konstante GPU, mit deren Parameter-Limits, wo immer dieser Rechner sie abdecken kann
WebGPUDerselbe Adapter wie bei WebGL, sodass beide APIs standardmäßig dieselbe GPU nennen
AudioSamplerate und Latenz des AudioContext folgen der Persona; gerenderte Samples bleiben exakt
Schriften und Sprachausgabe-StimmenDie Schrift- und Stimmensets der Persona
Hardware und BildschirmhardwareConcurrency, deviceMemory, Pixelverhältnis, Farbtiefe, Touchpoints sowie Bildschirm und Arbeitsbereich der Persona (lightStealth behält den echten Bildschirm)
Locale und ZeitAccept-Language, navigator.language, Intl und Zeitzone stimmen überein
User-Agent und Client HintsMarke, Version, Plattform, Bitness und Modell, aus der Engine
TLSDer ClientHello folgt der Chrome-Version, die die Persona angibt
Automatisierungs-Hinweisenavigator.webdriver und die verräterischen Headless-Merkmale

Die vollständige Liste der Switches mit ihrer jeweiligen Wirkung steht in der Referenz der Fingerprint-Flags.

Wofür es eingesetzt wird

Privatsphäre

Ein Standard-Browser meldet die Wertekombination Ihres eigenen Rechners. Eine Persona meldet einen plausiblen, konsistenten Rechner, der nicht Ihrer ist.

Getrennte Identitäten

Geben Sie jedem Account einen eigenen Seed, damit sich Accounts keinen Rendering-Fingerprint teilen.

Fingerprint-sensitiven Code testen

Sehen Sie, wie Ihr eigener Code für Betrugserkennung, Analytics oder Personalisierung auf unterschiedliche Hardware, GPUs und Locales reagiert.

Fingerprinting-Forschung

Reproduzieren Sie, was eine Testseite misst, mit kontrollierten und wiederholbaren Eingaben.

Clearcote ist für Datenschutz, Tests, Forschung und rechtmäßige Automatisierung gebaut. Sie sind dafür verantwortlich, wie Sie es einsetzen, und dafür, die Nutzungsbedingungen der Websites einzuhalten, die Sie besuchen.

In welchem Tarif enthalten

Seed-Persona, Rauschen pro Website, Metadaten-Overrides und TLS-Abgleich sind in jedem Tarif enthalten, auch im offenen Build. Der lizenzierte Build (kostenlos mit GitHub) ergänzt einige feinere Switches und realistischeres Verhalten und bekommt neue Chromium-Hauptversionen zuerst; Pro schaltet kein Spoofing frei, das „Kostenlos mit GitHub“ fehlt.

Tarife vergleichen

FAQ

Was ist Browser-Fingerprint-Spoofing?

Das Ändern der Werte, an denen eine Website einen Browser wiedererkennt: GPU, Bildschirm, Schriften, Hardware, Sprache und so weiter. Die meisten Tools überschreiben dafür JavaScript-Properties. Clearcote macht es in der Chromium-Engine, sodass die Werte aus nativem Code kommen und untereinander konsistent bleiben.

Warum keinen JavaScript-Fingerprint-Spoofer verwenden?

Überschriebene Funktionen verraten sich. toString liefert den Quelltext des Overrides statt [native code], Property-Deskriptoren ändern sich, und ein frischer iframe oder Worker bringt den Originalwert zurück. Bei Clearcote gibt es keine solche Schicht, die man finden könnte. Mehr dazu, wie Erkennung funktioniert.

Ergibt derselbe Seed jedes Mal denselben Fingerprint?

Ja. Aus dem Seed werden Persona und Rauschen pro Website deterministisch abgeleitet. Derselbe Seed ist also bei jedem Start dieselbe Identität, und ein neuer Seed ist eine neue.

Können zwei Accounts auf einem Rechner unterschiedliche Canvas-Fingerprints haben?

Ja, mit unterschiedlichen Seeds: Canvas- und WebGL-Readbacks unterscheiden sich je Seed. Ein importiertes Geräteprofil ändert nur gemeldete Werte, nicht das Rendering. Für getrenntes Rendering nehmen Sie also einen Seed pro Account. Gerendertes Audio und Client-Rects stammen vom Rechner darunter und sind für jede Identität darauf gleich.

Macht das Automatisierung unerkennbar?

Das kann kein Tool versprechen, und wir tun es auch nicht. Clearcote beseitigt die Widersprüche, die ein gespoofter Browser üblicherweise mitbringt. Verhalten, IP-Reputation und die Art der Nutzung spielen weiterhin eine Rolle. Der Fingerprint-Test zeigt, wie Ihr eigenes Setup aussieht.

Mehr dazu in der Dokumentation

Verwandte Funktionen

Clearcote ausprobieren

Direkt einsetzbar mit Playwright & Puppeteer, kohärent bis hinunter zum TLS-Handshake, mit einem Open-Source-Build als Ausgangspunkt.

Mit GitHub kostenlos für einen Browser. Ohne Kreditkarte.