Was User-Agent-Spoofing ist
Jeder HTTP-Client kann einen User-Agent Header senden, der ihn beschreibt: einen Browsernamen und eine Version, einen Crawler-Namen, eine Bibliothekskennung. Der Header ist selbst angegeben. Nichts in HTTP prüft, ob er wahr ist, daher kann jeder Client jeden Wert senden. User-Agent-Spoofing ist die Praxis, einen Wert zu senden, der den Client falsch darstellt, zum Beispiel:
- ein Automatisierungsskript, das sich als aktueller Desktop-Browser ausgibt,
- ein Scraper, der behauptet, ein bekannter Such-Crawler zu sein, um bevorzugte Behandlung zu erhalten,
- ein KI-Agent, der eine generische Browser-Zeichenfolge verwendet, damit er wie eine Person behandelt wird.
Warum das wichtig ist
Viele Systeme treffen Entscheidungen weiterhin anhand der User-Agent-Zeichenfolge: bekannte Crawler auf eine Allowlist setzen, Bots andere Inhalte ausliefern oder Automatisierung aus der Analytik ausschließen. Jede dieser Entscheidungen übernimmt die Schwäche des Headers. Wenn eine Richtlinie sagt: „Erlaube alles, das behauptet, Crawler X zu sein“, dann erlaubt sie jeden, der die Zeichenfolge von Crawler X kopiert.
Für Anwendungen, die Traffic von KI-Agenten empfangen, wird das mit der Zeit wichtiger. Agenten laufen zunehmend in echten Browsern oder Headless-Browser-Frameworks, sodass ihre User-Agent-Zeichenfolgen genau wie die von menschlichen Browsern aussehen. Andere identifizieren sich ehrlich. Der Header allein kann nicht sagen, was was ist. Unser Beitrag darüber, wie man erkennt, ob Website-Traffic von KI-Agenten stammt, untersucht die Signale, die besser funktionieren.
Bessere Nachweise als der Header
- Kryptografische Signaturen. Mit HTTP Message Signatures und der Arbeit zu Web Bot Auth weist ein Client nach, dass er einen Schlüssel besitzt, der vom Betreiber veröffentlicht wurde, den er nennt. Eine kopierte User-Agent-Zeichenfolge kann keine Signatur reproduzieren.
- Vom Betreiber veröffentlichte Verifikation. Einige Crawler-Betreiber veröffentlichen IP-Bereiche oder unterstützen Reverse-DNS-Prüfungen, was eine Nachahmung schwieriger macht als mit dem Header allein. Google dokumentiert eine Reverse-DNS- und IP-Bereichsprüfung für seine Crawler, Microsoft bietet ein Verify Bingbot-Tool an, und OpenAI veröffentlicht IP-Adressdateien für jeden seiner Bots. Anthropics Hinweise für den gehosteten Browser-Agenten sagen ausdrücklich, dass jeder denselben User-Agent-Header senden kann, und empfehlen, die veröffentlichten IP-Adressen zu prüfen.
- Konsistenzprüfungen. Der Vergleich des behaupteten Clients mit Protokolldetails und Interaktionssignalen kann zeigen, wann eine Behauptung nicht passt, auch wenn daraus eine Inferenz entsteht und kein Beweis.
- Anmeldedaten. Für APIs sagt Ihnen ein API-Schlüssel oder Token, welches Konto aufruft, unabhängig davon, was der Header sagt.
Häufige Missverständnisse
- „Ein Browser-User-Agent bedeutet einen Menschen.“ Headless-Browser und Agent-Frameworks senden routinemäßig Browser-Zeichenfolgen.
- „Ein Crawler-User-Agent bedeutet den Crawler.“ Ohne Signatur oder eine Verifikationsprüfung durch den Betreiber ist es nur eine Behauptung.
- „Spoofing ist immer böswillig.“ Einige legitime Tools senden generische Zeichenfolgen, um nicht defekte Seiten auszuliefern. Spoofing ist ein Grund, den Header abzuwerten, kein Beweis für böse Absicht.
Wie Proof of Actor die User-Agent-Zeichenfolge behandelt
Proof of Actor erfasst eine User-Agent-Behauptung als Declared-Nachweis: etwas, das der Client angegeben hat und das wahr sein kann oder auch nicht. Es stuft eine Angabe niemals von sich aus zu Verified hoch. Eine Anfrage, deren einziger identifizierender Nachweis eine Crawler-User-Agent-Zeichenfolge ist, wird entsprechend gekennzeichnet, und wenn die Nachweise nicht ausreichen, lautet das Ergebnis Unknown statt einer selbstsicheren Vermutung. Ihre Richtlinien in Route können dann einen verifizierten signierten Agenten und einen selbst deklarierten unterschiedlich behandeln, zum Beispiel beide auf nur lesbaren Routen zulassen, aber für den deklarierten strengere Limits anwenden.
Siehe wie Nachweisgrundlagen funktionieren oder für frühen Zugang bewerben.
Quellen
- RFC 9110: HTTP Semantics, User-Agent: der Header wird vom Client selbst angegeben
- Google: Verifying Google's crawlers and fetchers: Reverse DNS und veröffentlichte IP-Bereichsprüfungen
- Microsoft Bing: Verify Bingbot tool: prüfen, ob eine IP-Adresse zu Bingbot gehört
- OpenAI: Overview of OpenAI Crawlers: User-Agents und veröffentlichte IP-Adressdateien
- Anthropic: how Anthropic-hosted browsers identify themselves: Hinweis, dass der User-Agent-Header kopiert werden kann