user-agent spoofing क्या है
हर HTTP client एक User-Agent header भेज सकता है जो अपने बारे में बताता है: browser का नाम और version, crawler का नाम, library identifier. यह header self-reported होता है. HTTP में ऐसी कोई जांच नहीं है जो यह साबित करे कि यह सही है, इसलिए कोई भी client कोई भी value भेज सकता है. user-agent spoofing उस practice को कहते हैं जिसमें ऐसी value भेजी जाती है जो client को गलत तरीके से प्रस्तुत करती है, उदाहरण के लिए:
- कोई automation script खुद को किसी current desktop browser के रूप में प्रस्तुत करे,
- कोई scraper किसी well-known search crawler होने का दावा करके बेहतर treatment पाए,
- कोई AI agent generic browser string का उपयोग करे ताकि उसे एक व्यक्ति की तरह treat किया जाए.
इसका महत्व क्यों है
कई systems अभी भी user-agent string के आधार पर decisions लेते हैं: known crawlers के लिए allowlisting, bots को अलग content देना, या analytics से automation को बाहर रखना. इन सभी decisions में इस header की कमजोरी शामिल हो जाती है. अगर policy कहती है "crawler X होने का दावा करने वाले किसी भी client को allow करो", तो वह crawler X की string copy करने वाले हर व्यक्ति को allow कर देगी.
AI agent traffic प्राप्त करने वाले applications के लिए, समय के साथ यह और महत्वपूर्ण हो जाता है. Agents increasingly वास्तविक browsers या headless browser frameworks के अंदर चलते हैं, इसलिए उनकी user-agent strings बिल्कुल human browsers जैसी दिखती हैं. दूसरे honestly पहचान करते हैं. केवल header से यह नहीं पता चलता कि कौन सा कौन है. हमारा कैसे पता करें कि website traffic AI agents से आ रहा है वाला लेख उन signals पर नज़र डालता है जो बेहतर काम करते हैं.
header से बेहतर evidence
- Cryptographic signatures. HTTP Message Signatures और Web Bot Auth work के साथ, client यह साबित करता है कि उसके पास उस operator द्वारा प्रकाशित key है जिसका वह नाम ले रहा है. copied user-agent string किसी signature की नकल नहीं कर सकती.
- Operator-published verification. कुछ crawler operators IP ranges publish करते हैं या reverse DNS checks का support देते हैं, जिससे impersonation header की तुलना में अधिक कठिन हो जाती है. Google अपने crawlers के लिए reverse DNS and IP range check document करता है, Microsoft Verify Bingbot tool प्रदान करता है, और OpenAI अपने bots के लिए IP address files publish करता है. Anthropic का उसके hosted browser agent के लिए guidance स्पष्ट रूप से कहता है कि कोई भी वही User-Agent header भेज सकता है और उसके published IP addresses की जांच करने की सलाह देता है.
- Consistency checks. claimed client की तुलना protocol details और interaction signals से करने पर यह पता चल सकता है कि कोई claim मेल नहीं खाता, हालांकि इससे inference बनती है, proof नहीं.
- Credentials. APIs के लिए, API key या token यह बताता है कि कौन सा account call कर रहा है, चाहे header कुछ भी कहे.
सामान्य गलतफहमियां
- "Browser user-agent का मतलब human है." Headless browsers और agent frameworks नियमित रूप से browser strings भेजते हैं.
- "Crawler user-agent का मतलब वही crawler है." Signature या operator verification check के बिना, यह केवल एक claim है.
- "Spoofing हमेशा malicious होता है." कुछ legitimate tools generic strings भेजते हैं ताकि उन्हें broken pages न दिए जाएं. Spoofing header को कम महत्व देने का कारण है, bad intent का proof नहीं.
Proof of Actor user-agent string को कैसे treat करता है
Proof of Actor user-agent claim को Declared evidence के रूप में दर्ज करता है: ऐसी बात जो client ने कही है, जो सही भी हो सकती है और नहीं भी. यह किसी declaration को अपने आप Verified में upgrade नहीं करता. जिस request का एकमात्र identifying evidence crawler user-agent string हो, उसे उसी तरह label किया जाता है, और जब evidence पर्याप्त नहीं होता तो result को confident guess के बजाय Unknown माना जाता है. Route में आपकी policies फिर verified signed agent और self-declared agent को अलग तरह से treat कर सकती हैं, उदाहरण के लिए दोनों को read-only routes पर allow करना लेकिन declared one पर अधिक सख्त limits लागू करना.
देखें evidence bases कैसे काम करते हैं या early access के लिए आवेदन करें.
Sources
- RFC 9110: HTTP Semantics, User-Agent: header client द्वारा self-reported होता है
- Google: Verifying Google's crawlers and fetchers: reverse DNS और published IP range checks
- Microsoft Bing: Verify Bingbot tool: यह जांचना कि कोई IP address Bingbot का है या नहीं
- OpenAI: Overview of OpenAI Crawlers: user agents और published IP address files
- Anthropic: how Anthropic-hosted browsers identify themselves: चेतावनी कि User-Agent header को copy किया जा सकता है