بازگشت به وبلاگ

شما مسدود نشده‌اید — به شما زباله داده‌اند: ترفندها و صفحات آلوده در ۲۰۲۶

HTTP 200 دیگر به معنای «داده‌ها جمع‌آوری شده‌اند» نیست. Nepenthes، Iocaine و Cloudflare AI Labyrinth خزنده‌ها را با متن‌های بی‌پایان تولید شده تغذیه می‌کنند و صفحات مسموم باعث می‌شوند که عوامل هوش مصنوعی برندهای غیرموجود را در ۲۷–۷۳.۸٪ موارد توصیه کنند. سه مکانیک خرابکاری آرام داده‌ها و هفت بررسی که زباله‌ها را قبل از ثبت در پایگاه داده شناسایی می‌کنند، بررسی می‌کنیم.

📅۲۲ شهریور ۱۴۰۵
شما مسدود نشده‌اید — به شما زباله داده‌اند: ترفندها و صفحات آلوده در ۲۰۲۶

پارسر کار می‌کند. HTTP 200 به طور مداوم در حال جریان است، پروکسی‌ها زنده هستند، کپچا ظاهر نمی‌شود و صف لینک‌ها در حال افزایش است. اما یک هفته بعد مشخص می‌شود که نیمی از قیمت‌های جمع‌آوری شده، خیالی هستند و گیگابایت‌ها ترافیک به صفحاتی رفته‌اند که در سایت واقعی وجود ندارند. این نه خرابی پارسر است و نه مجموعه بد IP. این یک حالت جدید از حفاظت است: سایت شما را مسدود نمی‌کند، بلکه شما را تغذیه می‌کند.

در یک سال و نیم، صنعت حفاظت ضد ربات به آرامی هدف خود را تغییر داده است. مسدود کردن یک اقدام گران و قابل مشاهده است: اسکرپر 403 را می‌بیند، اثر انگشت را اصلاح می‌کند، زیرشبکه را تغییر می‌دهد و برمی‌گردد. بسیار سودمندتر است که به او اجازه دهید کار کند، اما کار او را بی‌معنی کنید. در زیر، سه مکانیزم وجود دارد که در حال حاضر در میلیون‌ها سایت فعال هستند و مجموعه‌ای از بررسی‌ها که آن‌ها را در سمت شما شناسایی می‌کنند.

مکانیزم اول: تارپیت به جای بلوک

تارپیت (tarpit، «گودال قیر») یک تولیدکننده سایت بی‌پایان است. خزنده یک صفحه HTML معتبر با ده‌ها لینک دریافت می‌کند، هر لینک به یک صفحه تولید شده مشابه می‌رسد و صف بازدید هرگز خالی نمی‌شود.

معروف‌ترین ابزار متن‌باز Nepenthes است. تنظیمات آن به خوبی هدف را نشان می‌دهد: به طور پیش‌فرض، سرور پاسخ را از 10 تا 65 ثانیه نگه می‌دارد، متن «چت مارکوف» تولید شده از بدنه را ارائه می‌دهد و این کار را به طور تعیین‌شده انجام می‌دهد - یک URL همیشه همان زباله را برمی‌گرداند تا صفحات به عنوان فایل‌های استاتیک معمولی به نظر برسند و نه به عنوان تله. داده‌ها به صورت قطعات کوچک، «چند بایت» ارائه می‌شوند تا زمان‌های انتظار مشتری را بسوزانند. نویسنده یک اندازه‌گیری برای یک ساعت کار ارائه می‌دهد: 1850 مشتری مختلف، 10,015 درخواست و 56,020 ثانیه تأخیر کلی - حدود پانزده ساعت زمان ماشین دیگران که به هدر رفته است.

Iocaine به گونه‌ای دیگر عمل می‌کند: او به عنوان یک پروکسی معکوس در جلوی سایت واقعی کار می‌کند، و در اولین بار که آن را شناسایی می‌کند، یک لینک «مسموم» منحصر به فرد به ربات می‌دهد و با آن او را در بازگشت شناسایی می‌کند، و متن را با زنجیره‌های مارکوف تولید می‌کند - محاسبه بر این است که این متن به مجموعه آموزشی خواهد رسید.

در Cloudflare همان روش به یک محصول تبدیل شده است - AI Labyrinth، که در مارس 2025 معرفی شد. صفحات طعمه به صورت آنی تولید نمی‌شوند: از یک خط تولید پیش‌تولید در Workers AI استفاده می‌شود، نتیجه در R2 ذخیره می‌شود و به سرعت توزیع می‌شود. لینک‌های به لابیرنت در صفحات معمولی از طریق تبدیل HTML جاسازی می‌شوند و در خود طعمه‌ها دستورالعمل‌های متا برای جلوگیری از ایندکس شدن وجود دارد تا نتایج آسیب نبیند. نکته اصلی اینجا زمان هدر رفته ربات نیست، بلکه سیگنال است: لینک‌های پنهان از انسان و علامت‌گذاری شده با nofollow تنها توسط خودکارها قابل دسترسی هستند و رفتن به سه سطح در عمق چنین لابیرنتی خود به خود یک اثر انگشت از ربات بد است. مقیاس مشکل، به خاطر آنچه که انجام شده است، Cloudflare را به بیش از 50 میلیارد درخواست از ربات‌های هوش مصنوعی در روز - کمی کمتر از 1% کل ترافیک شبکه تخمین می‌زند.

چگونه تارپیت در لاگ‌های شما به نظر می‌رسد

تصویر مشخص: صفی برای چند هزار URL که فقط در حال افزایش است، زمان پاسخ به طور پایدار در حدود یک و نیم ثانیه و بالاتر نگه داشته می‌شود، کدهای HTTP - همه 200، و تعداد رکوردهای مفید استخراج شده برابر با صفر است. نه 403 وجود دارد، نه کپچایی، و هیچ خروجی‌ای: هر چقدر هم که صفحات بازدید شده باشند، لینک‌های جدید سریع‌تر از آنچه که قدیمی‌ها بسته می‌شوند، ظاهر می‌شوند.

مکانیزم دوم: محتوای مسموم برای عوامل هوش مصنوعی

اگر مکانیزم اول منابع را می‌سوزاند، دومی به نتیجه ضربه می‌زند. محققان Minghao Luo و Liang Chen در ژوئن 2026 مقاله‌ای با شبیه‌ساز FORGE (توصیه‌های آنلاین جعلی در محیط‌های تولیدی) منتشر کردند: آن‌ها 12 مدل زبانی بزرگ را در 225 محصول در 15 دسته - از لباس تا الکترونیک آزمایش کردند. مکانیزم حمله ساده است: در متن صفحه، برند واقعی با یک برند خیالی جایگزین می‌شود.

نتیجه - یک صفحه جعلی تا 27% مواردی را به همراه دارد که دستیار برند غیرموجود را توصیه می‌کند، و جایگزینی همه سه نتیجه بالای جستجو این سهم را به 73.8% افزایش می‌دهد. مدل‌ها نه تنها نام جعلی را تکرار کردند - بلکه ویژگی‌هایی را برای آن اختراع کردند، از جمله به اصطلاح محبوبیت در جوامع. سه دفاع پیشنهادی (پرسش در مورد شک، توافق در مورد دانش داخلی مدل، و بررسی بین اسناد) یا کار نکردند یا مشکلات جدیدی ایجاد کردند. نتیجه‌گیری نویسندگان: باید در بالای جریان بررسی شود - در مرحله جمع‌آوری، نه در مرحله استدلال.

مکانیزم سوم تصویر را کامل می‌کند. در مقاله «A Whole New World: Creating a Parallel-Poisoned Web Only AI-Agents Can See» (Shaked Zychlinski) به کلاکیگ اشاره شده است که به طور خاص بر روی عوامل هوش مصنوعی هدف‌گذاری شده است: سایت عامل را بر اساس ویژگی‌های مرورگر، امضای فریم‌ورک اتوماسیون و ویژگی‌های شبکه شناسایی می‌کند و نسخه دیگری از صفحه را به او می‌دهد - با دستورالعمل‌های پنهان و حقایق جایگزین. انسانی که همان URL را باز می‌کند، صفحه عادی را می‌بیند، بنابراین بررسی دستی «من وارد شدم، همه چیز خوب است» هیچ چیزی را اثبات نمی‌کند.

چرا این در درجه اول یک مسئله بودجه است

تارپیت به گونه‌ای طراحی شده است که هر صفحه برای سایت ارزان و برای شما گران باشد. وقتی ترافیک بر اساس گیگابایت‌ها پرداخت می‌شود، تولیدکننده صفحات بی‌پایان به یک شمارنده هزینه‌های شما تبدیل می‌شود: شما برای مگابایت‌های متن مارکوف که هرگز به یک خط در پایگاه داده تبدیل نمی‌شود، پرداخت می‌کنید. دقیقاً همان ریاضیات که برای درخواست‌های ناموفق وجود دارد - قیمت برای هر گیگابایت هیچ چیزی درباره هزینه نتیجه نمی‌گوید، تا زمانی که شما هزینه یک رکورد موفق را محاسبه نکنید، نه هزینه درخواست.

از این رو، اولین قاعده عملی: محدودیت ترافیک باید در سطح دامنه و وظیفه باشد، نه فقط در سطح حساب. دامنه‌ای که بیش از یک گیگابایت مصرف کرده و هیچ رکوردی ارائه نداده است، باید به طور خودکار متوقف شود - بدون این، یک تله می‌تواند بودجه روزانه را در یک شب بلعید.

هفت بررسی که زباله‌ها را شناسایی می‌کنند

  1. محاسبه yield، نه کدهای پاسخ. معیار اصلی خط تولید - سهم درخواست‌ها که رکورد معتبر با فیلدهای الزامی پر شده را ارائه می‌دهد. تا زمانی که شما به سهم 200‌ها نگاه می‌کنید، تارپیت به عنوان یک منبع کاملاً سالم به نظر می‌رسد.
  2. URL قناری. هر N درخواست، یک آدرس به وضوح غیرموجود را در داخل دامنه درخواست کنید - با یک بخش تصادفی از مسیر. یک سایت عادی 404 یا ریدایرکت را پاسخ می‌دهد، اما تولیدکننده یک صفحه کامل با متن و لینک‌ها را ارائه می‌دهد. این ارزان‌ترین و مطمئن‌ترین بررسی است.
  3. بررسی متقابل از پروفایل IP دیگر. یک URL یکسان را از دو مسیر مختلف بگیرید - به عنوان مثال، از طریق IP مسکونی و از طریق موبایل - و هش فیلدهای کلیدی را مقایسه کنید: قیمت‌ها، نام‌ها، موجودی. اختلاف در یک URL یکسان و زمان نزدیک به درخواست به این معنی است که نسخه‌های مختلفی از صفحه به شما نشان داده می‌شود و حداقل یکی از آن‌ها برای انسان‌ها نیست.
  4. به لینک‌های نامرئی نروید. لینک‌های با nofollow، اندازه‌های صفر، display:none یا خارج از محدوده صفحه - این‌ها طعمه هستند و رفتن به آن‌ها همان اثر انگشت ربات است. آن‌ها را در مرحله استخراج لینک‌ها فیلتر کنید، نه بعد از آن.
  5. سقف‌های سخت بر پاسخ. نه تنها زمان انتظار را محدود کنید، بلکه حداکثر اندازه بدنه و حداکثر عمق بازدید از نقطه ورودی را نیز محدود کنید. ارائه کند به صورت قطعات کوچک - نشانه‌ای معمولی از گودال است، نه یک سرور کند.
  6. به دنبال الگوهای متنی باشید. تولید مارکوف خود را با آمار نشان می‌دهد: طول مشکوک یکنواخت پاراگراف‌ها، n-گرام‌های تکراری بین صفحات «مختلف»، ده‌ها لینک خروجی در غیاب عناصر ساختاری مانند قیمت، شماره کالا یا تاریخ. یک بررسی ساده بر روی شینگ‌های تکراری بین صفحات همسایه دامنه چنین منابعی را به سرعت حذف می‌کند.
  7. اعداد را از نظر منطقی بررسی کنید. قیمت خارج از کریدور تاریخی، کالایی بدون هیچ تطابقی در پایگاه برندهای خودتان، جهش ناگهانی در تنوع - این‌ها قوانین اعتبارسنجی هستند که باید قبل از ثبت در پایگاه داده وجود داشته باشند، نه در گزارشی یک ماه بعد. به ویژه اگر داده‌ها بعداً به مدل یا تصمیم‌گیری خودکار در مورد خرید منتقل شوند.

چه کار باید با مجموعه جمع‌آوری شده انجام داد

اگر شک پس از واقعیت به وجود آمد، مرتب‌سازی را نه بر اساس تاریخ‌ها، بلکه بر اساس منابع انجام دهید. رکوردها را بر اساس دامنه گروه‌بندی کنید و به سه مقدار نگاه کنید: سهم صفحات بدون فیلدهای الزامی، میانگین تعداد لینک‌های خروجی در صفحه و پراکندگی طول متن. دامنه‌های تله معمولاً بلافاصله از هر سه مشخص می‌شوند. سپس URL‌های مشکوک را به صورت انتخابی از پروفایل IP دیگر دوباره بررسی کنید - اگر داده‌ها مطابقت نداشتند، کل مجموعه از این دامنه باید دوباره جمع‌آوری شود، نه اینکه با فیلترها تعمیر شود.

به طور جداگانه، باید قوانین را برای سناریوهای عاملی مرور کنید، جایی که مدل خود به صفحات می‌رود و خود تصمیم می‌گیرد. دقیقاً در آنجا جایگزینی یک صفحه بیشترین تأثیر را دارد و هیچ انسانی که بتواند عجیب بودن را متوجه شود، در زنجیره وجود ندارد. حداقل بیمه - درخواست تأیید واقعیت از دو منبع مستقل و جلوگیری از اقدام عامل بر اساس داده‌های به دست آمده از یک دامنه واحد.

خلاصه

ربات‌ها مدت‌هاست که از انسان‌ها در سهم ترافیک پیشی گرفته‌اند و حفاظت تنها به فیلترها پاسخ نداده است: امروز ارزان‌تر است که به یک ربات زباله‌ای قابل قبول بدهید تا با مسدود کردن با او بحث کنید. سه نتیجه عملی وجود دارد. رکوردهای مفید را محاسبه کنید، نه وضعیت‌های پاسخ. بررسی‌های قناری و محدودیت‌های ترافیک را برای هر دامنه نگه دارید. صفحات مشکوک را از پروفایل‌های IP مختلف مقایسه کنید - اختلاف نسخه‌های یک صفحه یکسان، اثبات این است که به شما اینترنتی جداگانه و به طور خاص برای ربات‌ها نشان داده می‌شود. پروکسی‌ها در این طرح تنها یک وظیفه را حل می‌کنند - ارائه یک نگاه مستقل به صفحه؛ همه چیز دیگر اعتبارسنجی در سمت شماست.