Miasma: AI web scrapers को अंतहीन प्रदूषण लूप में फंसाने वाला टूल
(github.com/austin-weeks)- Miasma एक Rust-आधारित सर्वर टूल है जो AI web scrapers को अनंत लूप में फंसाकर training data collection में बाधा डालता है
- वेबसाइट कंटेंट को बड़े पैमाने पर इकट्ठा करने वाली AI कंपनियों के ट्रैफ़िक को redirect करके, ‘poison fountain’ से लाया गया प्रदूषित डेटा और self-referential links लौटाता है
- तेज़ processing speed और कम memory usage के साथ सर्वर resources बर्बाद किए बिना रक्षा संभव
- Nginx reverse proxy और hidden link insertion के ज़रिए scrapers को
/botspath पर ले जाकर अनंत circular structure बनाता है - सामान्य search engines को robots.txt exception rules से सुरक्षित रखता है, और open source के रूप में community contribution की अनुमति देता है
इंस्टॉलेशन और रन
- Cargo का उपयोग करके इंस्टॉल किया जा सकता है
cargo install miasmaकमांड से इंस्टॉल करें
- GitHub Releases पेज से prebuilt binaries डाउनलोड किए जा सकते हैं
- डिफ़ॉल्ट settings के साथ चलाने के लिए केवल
miasmaकमांड दर्ज करें - सभी configuration options को
miasma --helpसे देखा जा सकता है
scraper trap सेट करने का तरीका
/botspath को scraper entry point के रूप में सेट करें- Nginx को reverse proxy के रूप में उपयोग करके
/botspath के requests को Miasma server तक भेजेंlocation ~ ^/bots($|/.*)$ { proxy_pass http://localhost:9855; }/bots,/bots/,/bots/12345आदि सभी path variants से match करता है
-
hidden link insertion
- वेबपेज में ऐसे hidden links जोड़ें जो मानव visitors को दिखाई न दें लेकिन scrapers उन्हें detect कर सकें
[Amazing high quality data here!](/bots) display: none,aria-hidden="true",tabindex="1"attributes के कारण accessibility tools और users को यह दिखाई नहीं देता
- वेबपेज में ऐसे hidden links जोड़ें जो मानव visitors को दिखाई न दें लेकिन scrapers उन्हें detect कर सकें
-
Miasma चलाना
/botsको link prefix के रूप में सेट करें और port व concurrent connection limit निर्धारित करेंmiasma --link-prefix '/bots' -p 9855 -c 50- अधिकतम 50 concurrent connections की अनुमति देता है, और अतिरिक्त requests पर HTTP 429 response लौटाता है
- 50 connections पर लगभग 50~60MB memory usage अपेक्षित है
-
deployment के बाद व्यवहार
- setup पूरा करके deploy करने पर scrapers
/botspath का अनुसरण करते हुए अनंत रूप से प्रदूषित डेटा पेजों में घूमते रहेंगे - logs के ज़रिए scrapers के बार-बार आने वाले requests को real time में देखा जा सकता है
- setup पूरा करके deploy करने पर scrapers
robots.txt सेटिंग
- सामान्य search engine crawlers को Miasma तक पहुँचने से रोकने के लिए robots.txt में exception rules जोड़ना आवश्यक है
User-agent: Googlebot User-agent: Bingbot User-agent: DuckDuckBot User-agent: Slurp User-agent: SomeOtherNiceBot Disallow: /bots Allow: /
configuration options
- CLI options के माध्यम से विस्तृत configuration संभव है
| विकल्प | डिफ़ॉल्ट मान | विवरण |
|---|---|---|
port |
9999 |
वह port जिस पर server bind करेगा |
host |
localhost |
वह host address जिस पर server bind करेगा |
max-in-flight |
500 |
एक साथ process किए जा सकने वाले requests की अधिकतम संख्या। इससे अधिक होने पर 429 response लौटता है। memory usage इस मान के अनुपात में बढ़ता है |
link-prefix |
/ |
self-referential links का prefix। उदाहरण: /bots |
link-count |
5 |
प्रत्येक response page में शामिल self-referential links की संख्या |
force-gzip |
false |
client के Accept-Encoding header की परवाह किए बिना हमेशा gzip compression लागू करता है। transfer cost कम करने में उपयोगी |
poison-source |
https://rnsaffn.com/poison2/ |
प्रदूषित training data लाने के लिए proxy source |
development और contribution
- bug reports या feature suggestions GitHub Issues के माध्यम से भेजे जा सकते हैं
- AI द्वारा generated code contributions अपने-आप अस्वीकार कर दिए जाते हैं
- community contributions का स्वागत है, और project open source बना रहता है
1 टिप्पणियां
Hacker News की राय
जैसे कोई किसी फोन spammer को 45 मिनट तक उलझाकर रखता है, वैसे ही मुझे शक है कि ऐसी bot disruption तकनीकें सच में असरदार हैं या नहीं
Google Search policy के मुताबिक hidden links डालना साफ़ उल्लंघन है, और इससे साइट की ranking गिर सकती है या वह search results से बाहर हो सकती है
आखिर में ऐसा तरीका bots से ज़्यादा मेरी अपनी साइट को नुकसान पहुँचा सकता है
YouTuber Kitboga की उस वीडियो की तरह, जहाँ AI call center spam calls को उलझाकर रखता है, इसे दुश्मन के resources खर्च करवाने वाली guerrilla-style strategy माना जा सकता है
लगता है वे “do-not-call list” और “unprofitable list” अलग-अलग रखते हैं। असली बात दूसरी वाली list में पहुँचना है
लोग इतने गुस्सा हो गए थे कि Golden Telecom ने automatic revenge calls शुरू कर दीं और कंपनी ही गायब हो गई
इस तरह असर हो सकता है, लेकिन इसके लिए modem pool lease चाहिए
अगर anti-scraping, anti-Google crawler, और human-centered search index वाले tools आएँ, तो संभावना है
मेरी public website का content scrapers चुरा रहे हैं
आखिर मैंने भी यह लेख चुराया है, और तुम भी मेरा comment चुरा रहे हो। दुनिया चोरों से भरी है
content सबके लिए खुला है, लेकिन मुझे यह पसंद नहीं कि उसकी वजह से किसी के लिए भी access मुश्किल हो जाए
अगर यह ऐसे ही चलता रहा, तो शायद मैं साझा करना ही बंद कर दूँ
इसलिए इंसानों और कंपनियों के tools को एक ही स्तर पर रखना गलत तुलना है
पहले मैं paid software बनाता था और उसमें copy protection code डालता था, लेकिन हर बार कोई नया crack आ जाता था
आखिर मुझे समझ आया कि वह लड़ाई बेकार है, और मैंने protection code हटा दिया
AI bots की crawling रोकने की कोशिश भी उसी तरह का whack-a-mole game लगती है
लेकिन उस community की motivation ही मज़ा और reputation है, इसलिए हक़ीक़त में यह मुश्किल लगता है
लेकिन social media और copyright obsession ने लोगों की control की इच्छा और बढ़ा दी है
मुझे जिज्ञासा है कि यह तरीका वास्तव में असरदार है या नहीं
ज़्यादातर scrapers के पास शायद ऐसी defenses को bypass करने की तकनीक पहले से होगी
मेरे अनुभव में यह तरीका कुछ हद तक काम करता है
पता नहीं उन्होंने मेरा बनाया हुआ junk data सीखा भी या नहीं, लेकिन सपना देखने में क्या जाता है
data poisoning वाला approach दिलचस्प है
जब model web data से सीखता है, तो उसमें मौजूद bias और manipulation भी साथ ले लेता है
अगर कोई malicious actor बड़े पैमाने पर data को poison कर दे, तो training खुद एक adversarial structure में बदल जाती है
आखिरकार समाधान विश्वसनीय data source provenance management है
ऐसी कोशिशें आखिर में AI को और ज़्यादा समझदार बनाने वाला training data ही दे रही हैं
ad-based content market के टूटने की संभावना काफ़ी है, और उसके बाद शायद बाज़ार content quality-केंद्रित रूप में फिर से बनेगा
उसकी जगह सीधे licensing करके data देने वाला model स्थापित होगा
क्या सिर्फ
style="display:none"याaria-hidden="true"attributes हटाकर ऐसी tricks से बचा नहीं जा सकता?अगर scraper ईमानदार है, तो उसे वह नियम मानने चाहिए
इंसान नहीं देखेगा, लेकिन bot उसके पीछे जाएगा
यह idea अच्छा है, लेकिन आखिर में इसका ज़्यादा नुकसान SMEs को ही होगा
बड़ी कंपनियाँ और मज़बूत होंगी, और छोटी sites AI search results से गायब हो जाएँगी
आखिर में flow के साथ चलने के अलावा रास्ता नहीं बचेगा, और कभी-कभार छोटी-सी resistance ही हक़ीक़त होगी
Nightshade 2.0 जैसे tools ढीले-ढाले attention-grabbing projects लगते हैं
असली समाधान यह है कि data को LLM-friendly format में दिया जाए
साधारण
display:nonetrick smart crawlers पर काम नहीं करेगीसंबंधित thread देखें
सच में दिलचस्प बात इस project का इस्तेमाल किया गया Poison Fountain dataset है
rnsaffn.com/poison3 पर “I want to harm machine intelligence systems” जैसी पंक्ति लिखी है
यह hacker ideology मुझे किसी roleplay जैसी लगती है, इसलिए उससे जुड़ाव महसूस करना मुश्किल है