Web Bot Auth (RFC 9421)
Was ist web-bot-auth?
Web-bot-auth ist ein aufkommender Standard, mit dem KI-Agenten ihre Identität über kryptografische HTTP Message Signatures (RFC 9421) nachweisen. Statt sich auf User-Agent-Strings zu verlassen — die gefälscht werden können — signieren Agenten ihre Requests mit einem privaten Schlüssel. Websites verifizieren die Signatur gegen einen veröffentlichten öffentlichen Schlüssel.
Warum das wichtig ist
User-Agent-Erkennung ist nicht mehr zuverlässig:
- ChatGPT Agent Mode nutzt einen gefälschten Chrome-UA (
Chrome/138.0.0.0) — allein am UA nicht von einem Browser zu unterscheiden - Perplexity betreibt Stealth-Crawler (3-6 Mio. Requests/Tag) mit generischen Chrome-UAs
- Google-Agent nutzt Standard-Chrome-UA-Strings
Die Branche bewegt sich in Richtung kryptografischer Identität. OpenAI, Google, Cloudflare, Shopify, Vercel und Visa unterstützen diesen Ansatz. Die IETF-Standardisierung läuft.
Was AgentGrade prüft
Signatures-Verzeichnis veröffentlicht — Wir prüfen auf /.well-known/http-message-signatures-directory. Das ist der Standardort, an dem eine Website ihre Agent-Identität und die öffentlichen Schlüssel veröffentlicht, mit denen ihre signierten Requests verifiziert werden können.
Members deklariert — Das Verzeichnis sollte ein members-Array enthalten, das die Agent-Identitäten (z. B. „ChatGPT", „GoogleAgent") auflistet, die die Website anerkennt oder als die sie agiert.
Öffentliche Schlüssel verfügbar — Jedes Member sollte eine publicKeyUrl haben, die auf einen abrufbaren öffentlichen Schlüssel zur Signaturprüfung zeigt.
So implementierst du es
Veröffentliche eine JSON-Datei unter /.well-known/http-message-signatures-directory:
{
"members": [
{
"name": "my-agent",
"publicKeyUrl": "https://example.com/.well-known/keys/agent.pub"
}
]
}
Um eingehende signierte Requests bekannter Agenten (wie ChatGPT) zu verifizieren, nutze das npm-Paket web-bot-auth:
npm install web-bot-auth
Bekannte Agent-Verzeichnisse
| Agent | Verzeichnis-URL |
|---|---|
| ChatGPT | https://chatgpt.com/.well-known/http-message-signatures-directory |
Mehr erfahren
- RFC 9421: HTTP Message Signatures
- web-bot-auth npm package
- Cloudflare blog: web-bot-auth
- SeatGeek implementation