user-agent स्पूफिंग म्हणजे काय
प्रत्येक HTTP client एक User-Agent header पाठवू शकतो जो स्वतःचे वर्णन करतो: browser चे नाव आणि version, crawler चे नाव, library identifier. हा header self-reported असतो. HTTP मध्ये तो खरा आहे का हे तपासले जात नाही, त्यामुळे कोणताही client कोणतेही value पाठवू शकतो. user-agent spoofing म्हणजे असे value पाठवण्याची पद्धत जी client ला चुकीचे दर्शवते, उदाहरणार्थ:
- एक automation script स्वतःला current desktop browser म्हणून सादर करते,
- एक scraper favorable treatment मिळवण्यासाठी स्वतःला well-known search crawler असल्याचा दावा करतो,
- एक AI agent generic browser string वापरतो जेणेकरून त्याच्याकडे एखादी व्यक्ती म्हणून पाहिले जाईल.
हे का महत्त्वाचे आहे
अनेक systems अजूनही निर्णय user-agent string वरून घेतात: known crawlers ला allowlisting करणे, bots साठी वेगळे content देणे, किंवा analytics मधून automation वगळणे. अशा प्रत्येक निर्णयात या header ची कमकुवतता येते. एखादी policy म्हणत असेल, "crawler X असल्याचा दावा करणारे काहीही allow करा", तर crawler X चा string कॉपी करणाऱ्या प्रत्येकाला प्रवेश मिळतो.
AI agent traffic स्वीकारणाऱ्या applications साठी, हे काळानुसार अधिक महत्त्वाचे होते. Agents वाढत्या प्रमाणात real browsers किंवा headless browser frameworks मध्ये चालतात, त्यामुळे त्यांचे user-agent strings human browsers सारखेच दिसतात. काही honestly स्वतःची ओळख सांगतात. फक्त header वरून कोण कोण आहे ते कळू शकत नाही. वेबसाइट traffic AI agents कडून येते का हे कसे ओळखावे या आमच्या लेखात अधिक चांगले काम करणाऱ्या signals पाहिले आहेत.
header पेक्षा चांगला पुरावा
- Cryptographic signatures. HTTP Message Signatures आणि Web Bot Auth या work सह, client त्याने नाव दिलेल्या operator ने प्रकाशित केलेली key त्याच्याकडे आहे हे सिद्ध करतो. कॉपी केलेला user-agent string signature पुन्हा तयार करू शकत नाही.
- Operator-published verification. काही crawler operators IP ranges प्रकाशित करतात किंवा reverse DNS checks साठी support देतात, ज्यामुळे फसवणूक header एकट्यापेक्षा कठीण होते. Google आपल्या crawlers साठी reverse DNS आणि IP range check चे दस्तऐवजीकरण करते, Microsoft Verify Bingbot tool देते, आणि OpenAI प्रत्येक bot साठी IP address files प्रकाशित करते. Anthropic च्या त्याच्या hosted browser agent साठीच्या मार्गदर्शनात स्पष्टपणे म्हटले आहे की कोणीही तोच User-Agent header पाठवू शकतो आणि प्रकाशित IP addresses तपासण्याची शिफारस केली आहे.
- Consistency checks. claimed client ची protocol details आणि interaction signals शी तुलना केल्याने दावा जुळत नाही तेव्हा ते दिसू शकते, तरी यात 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 नसल्यास तो फक्त एक दावा असतो.
- "spoofing नेहमी malicious असते." काही legitimate tools broken pages सर्व्ह होऊ नयेत म्हणून generic strings पाठवतात. Spoofing हे header ला कमी महत्त्व देण्याचे कारण आहे, bad intent चा पुरावा नाही.
Proof of Actor user-agent string कसा हाताळते
Proof of Actor user-agent claim ला Declared evidence म्हणून नोंदवते: client ने सांगितलेली गोष्ट, जी खरी असूही शकते किंवा नसूही शकते. ते स्वतःहून declaration ला कधीही Verified मध्ये upgrade करत नाही. ज्या request मध्ये एकमेव identifying evidence crawler user-agent string असतो, त्याला तसेच label केले जाते, आणि पुरावा अपुरा असल्यास result Unknown असतो, confident guess नसतो. मग Route मधील तुमची policies verified signed agent आणि self-declared agent यांना वेगळ्या प्रकारे हाताळू शकतात, उदाहरणार्थ read-only routes वर दोन्ही allow करून declared one वर tighter limits लावणे.
evidence bases कसे काम करतात पाहा किंवा early access साठी apply करा.
Sources
- RFC 9110: HTTP Semantics, User-Agent: हा header client कडून self-reported असतो
- Google: Verifying Google's crawlers and fetchers: reverse DNS आणि प्रकाशित IP range checks
- Microsoft Bing: Verify Bingbot tool: एखादा IP address Bingbot चा आहे का हे तपासणे
- OpenAI: Overview of OpenAI Crawlers: user agents आणि प्रकाशित IP address files
- Anthropic: how Anthropic-hosted browsers identify themselves: User-Agent header copy केला जाऊ शकतो असा इशारा