در پاییز ۲۰۲۶، تقریباً هر هفته یک «آنتیدیتکت رایگان و متن باز» جدید در GitHub ظاهر میشود: یک فورک از Chromium با تغییر اثر انگشت، مدیر پروفایلها، و یک لایه برای Playwright برای عوامل هوش مصنوعی. وسوسه واضح است: آنتیدیتکتهای پولی برای ۵۰ تا ۱۰۰ پروفایل دهها دلار در ماه هزینه دارند، اما اینجا — رایگان است. اما شما به چنین برنامهای با ارزشترین چیز خود را میدهید: نامهای کاربری پروکسی، کوکیهای حسابهای کاری، و گاهی دسترسی به حسابهای تبلیغاتی و کیف پولها. در زیر — یک بررسی مرحله به مرحله که باید قبل از اینکه اولین پروفایل پروکسیهای شما را ببیند، انجام دهید.
چرا این پارانویا نیست: چه اتفاقی در GitHub در سال ۲۰۲۶ میافتد
GitHub در این سال به یک کانال کامل برای توزیع بدافزارها تبدیل شده است. چندین کمپین مستند نشان میدهد که این در عمل چگونه به نظر میرسد:
- کلونهای پروژههای محبوب. عملیات SmartLoader + StealC: ۱۰۹ مخزن جعلی در ۱۰۳ حساب. مهاجمان ساختار و README پروژههای واقعی را کپی کردند و به جای کدهای منبع، دکمه «دانلود ZIP» با بارگذار و اطلاعاتدزد قرار دادند. این کمپین بیش از هفت هفته ادامه داشت.
- سرعت واکنش. مخازن جعلی DeepSeek TUI در عرض چهار ساعت پس از اعلام رسمی ابزار ظاهر شدند. هر چیزی که در حال حاضر محبوب است، تقریباً بلافاصله کلون میشود.
- کد پنهان. کمپین GlassWorm (۴۳۳+ مؤلفه آلوده در GitHub، npm، VS Code Marketplace و OpenVSX) منطق مخرب را در نمادهای Unicode نامرئی پنهان میکرد که در هنگام مشاهده diff معمولی قابل مشاهده نیستند.
- ربات پروکسی در بسته. در «نشت» جعلی Claude Code و جعلهای DeepSeek TUI همراه با استایلر Vidar، GhostSocks نصب میشد — بدافزاری که کامپیوتر قربانی را به یک پروکسی SOCKS5 تبدیل میکند.
آخرین مورد برای مخاطبان ما بهویژه ناخوشایند است. GhostSocks، به گفته Infrawatch، همراه با استایلر LummaC2 توزیع میشود و به عنوان یک سرویس فروخته میشود: این بدافزار تونل را در TLS میپیچد و به مستأجر «IP خانگی» تمیز ماشین آلوده را میدهد. یعنی آنتیدیتکت «رایگان» میتواند نه تنها حسابهای شما را سرقت کند، بلکه IP خود شما را به یک نود خروجی از باتنت دیگران تبدیل کند. پس از چند هفته، شما متعجب خواهید شد که چرا آدرس خانگی شما در پایگاههای اسپم قرار گرفته است.
آنتیدیتکتهای متن باز چگونه از یکدیگر متمایز هستند
قبل از اینکه یک نسخه خاص را بررسی کنید، مفید است که بفهمید به کدام نوع تعلق دارد — زیرا این بستگی دارد که دقیقاً چه چیزی را باید بررسی کنید.
- پچها در سطح موتور. نمونه — Camoufox: نسخه Firefox که در آن اثر انگشت (ناویگاتور، صفحه نمایش، WebGL، فونتها، منطقه زمانی، WebRTC) در کد C++ تغییر میکند، نه با تزریق JS. مخزن رسمی —
daijro/camoufox، بسته در PyPI به نامcamoufoxاست. نکته مهم: به گفته خود پروژه، کد منبع به طور کامل از نسخه v146 به بعد باز شده است؛ در نسخههای v135.0.1-beta.24 و پایینتر مؤلفههای بسته وجود داشتند. در سال ۲۰۲۶، این پروژه یک وقفه طولانی در پشتیبانی داشت و تحلیلگران Centinel در بنچمارک سپتامبر Camoufox آن را شناسایی کردند. - لایههای روی Chrome معمولی. undetected-chromedriver، حالت UC در SeleniumBase. خودشان شفاف هستند، اما در برابر Cloudflare، DataDome و Kasada روز به روز بدتر عمل میکنند: عمدتاً لایه JavaScript را اصلاح میکنند.
- فورکهای جدید Chromium با باینریهای آماده. پرخطرترین گروه: پروژهای با چند ده ستاره که پیشنهاد میدهد یک
.exeیا.dmgبا حجم ۲۰۰+ مگابایت دانلود کنید. بررسی اینکه آیا باینری دقیقاً از کد منتشر شده ساخته شده است، برای کاربر معمولی ممکن نیست.
بررسی مرحله به مرحله قبل از نصب
مرحله ۱. اطمینان حاصل کنید که این نسخه اصلی است، نه کلون
- پروژه را از وبسایت رسمی یا از مستندات پیدا کنید، نه از جستجو در GitHub. کلونها معمولاً نام یکسانی دارند و نسخهای از README را کپی میکنند.
- تاریخ ایجاد مخزن، تعداد کامیتها و نویسندگان را مقایسه کنید. کلون معمولاً به تازگی ایجاد شده است، در آن ۱–۳ کامیت («کامیت اولیه»، «بهروزرسانی README») وجود دارد و ستارهها در عرض چند روز افزایش یافتهاند.
- به Issues و Discussions نگاه کنید. یک پروژه زنده دارای گزارشهای باگ از افراد مختلف و پاسخهای نگهدارنده است. Issues بسته در یک پروژه «محبوب» — پرچم قرمز است.
- فورکهایی مانند
random-nick/camoufoxبرابر با نسخه اصلی نیستند، حتی اگر در توضیحات «رسمی» ذکر شده باشد.
مرحله ۲. بررسی کنید که باینری از کجا میآید
- لینک دانلود باید به تب Releases همان مخزن هدایت شود، نه به یک سایت اشتراک فایل، Google Drive یا «آینه» در README. دکمه «Download ZIP» در توضیحات — همان ترفند از کمپین SmartLoader است.
- بررسی کنید که آیا انتشار از طریق GitHub Actions از کد عمومی ساخته میشود. آیا workflow ساخت وجود دارد، آیا تگها مطابقت دارند؟ اگر پروژه گواهیهای ساخت را منتشر میکند، آنها را با دستور
gh attestation verifyبررسی کنید. - چک کنید که checksum فایل (SHA-256) با آنچه در انتشار ذکر شده مطابقت دارد. اگر مقادیر ذکر نشدهاند — این یک علامت هشدار است، نه اینکه مرحله را نادیده بگیرید.
- فایل را در VirusTotal بارگذاری کنید. صفر هشدارها هیچ تضمینی نمیدهد: استایلرهای تازه معمولاً در روزهای اول تمیز هستند. اما هشدارهایی با برچسبهای stealer، Lumma، Vidar یا proxy — دلیل خوبی برای توقف فوری است.
مرحله ۳. کد را بخوانید جایی که سورپرایزها پنهان شدهاند
نیازی به خواندن کل Chromium نیست. کافی است نقاطی را بررسی کنید که برنامه به شبکه میرود و چیزی را اجرا میکند:
- اسکریپتهای نصب و پس از نصب (
postinstallدرpackage.json،setup.py،install.sh، اسکریپتهای PowerShell)؛ - ماژول «بهروزرسانیها» و «تلمتری»: درخواستها به کجا میروند و چه چیزی منتقل میشود؛
- هرگونه درخواست به URLهای خارجی، رشتههای base64، بارگذاری کد از آدرسهای دور و اجرای آن؛
- نمادهای نامرئی: کدها را از طریق جستجوی نمادها در خارج از ASCII عبور دهید. اینگونه بود که GlassWorm پنهان شده بود.
اگر پروژه یک «لانچر» باشد که در اولین راهاندازی موتور را از سرور خود بارگیری میکند، کدهای لانچر تقریباً هیچ اطلاعاتی درباره آنچه که در دیسک شما خواهد بود، نمیدهند.
مرحله ۴. اولین راهاندازی — فقط در محیط ایزوله
- برنامه را در یک ماشین مجازی جداگانه یا در یک VPS تمیز بدون دادههای کاری خود اجرا کنید.
- پروکسیها و حسابهای کاری را متصل نکنید. برای اولین بار، یک پروکسی آزمایشی با حجم کم ترافیک کافی است.
- اتصالات شبکه فرآیند را بررسی کنید (Little Snitch، Wireshark،
netstat/ss). آنتیدیتکت به اتصالات به سایتهایی که باز میکنید و به پروکسی شما نیاز دارد. اتصالات مداوم به IP و پورتهای ناشناخته، به ویژه اتصالات ورودی یا «آویزان» TLS به یک آدرس، نشانهای از بکدور یا ربات پروکسی است. - پس از نصب، بارگذاری خودکار و برنامهریز وظایف را بررسی کنید: آیا خدمات جدید، وظایف cron یا LaunchAgents که شما نصب نکردهاید، ظاهر شدهاند.
مرحله ۵. بررسی کنید که خود اثر انگشت شما را لو ندهد
یک آنتیدیتکت صادق اما بد نیز خطرناک است — فقط به شیوهای متفاوت: حسابها به دلیل عدم تطابقها مسدود میشوند. پروفایل را از طریق چند چکر عبور دهید و حتماً نشتهای شبکه را بررسی کنید. ترتیب دقیق را در مقاله «نشتهای WebRTC و DNS: ۷ بررسی قبل از ورود به پروفایل» بررسی کردیم. حداقل برای هر نسخه جدید:
- WebRTC نباید IP محلی و واقعی خارجی را بدهد، فقط IP پروکسی؛
- درخواستهای DNS باید از طریق پروکسی بروند، نه از طریق ارائهدهنده؛
- منطقه زمانی، زبان و جغرافیایی باید با کشور پروکسی مطابقت داشته باشد؛
- User-Agent و Client Hints باید با نسخه واقعی موتور مطابقت داشته باشد (فورک روی Chromium 151 که به عنوان Chrome 153 شناخته میشود، به سرعت شناسایی میشود).
چالشهایی که فراموش میشوند
- مجوز. «کد باز» همیشه به معنای «مجاز برای کسب و کار» نیست. به عنوان مثال، Damru دارای مجوز PolyForm Noncommercial است: استفاده تجاری با آن مجاز نیست.
- پروژههای رها شده. آنتیدیتکت بدون بهروزرسانیها در عرض چند ماه قدیمی میشود: نسخه پایه مرورگر عقب میافتد و شناساییکنندهها بر روی آثار آن یاد میگیرند. تاریخ Camoufox نشان میدهد که حتی یک پروژه قوی میتواند به مدت یک سال از رقابت خارج شود.
- همگامسازی پروفایلها «در ابر». اگر نسخه رایگان ذخیرهسازی ابری پروفایلها را پیشنهاد دهد، کوکیها و رمزهای عبور شما از پروکسی در سرور شخص دیگری قرار دارد. بدانید که دقیقاً در کدام سرور است.
- کلیدها و رمزهای پروکسی به صورت واضح. بسیاری از مدیران خانگی نامهای کاربری پروکسی را در JSON غیر رمزگذاری شده در کنار پروفایل ذخیره میکنند. استایلرها اول آنها را میگیرند.
- آنتیدیتکتهای پولی هک شده. «کرک شده» Multilogin، Dolphin و مشابه آنها — طعمه کلاسیک برای استایلرها. این بدتر از هر آنتیدیتکت متن باز است: کد اصلاً وجود ندارد و توزیعکننده از قبل میداند که قربانی با حسابها کار میکند.
چه پروکسیهایی به آنتیدیتکت جدید بدهیم
تست و کار را جدا کنید. در مرحله بررسی، از یک پروکسی جداگانه با حداقل باقیمانده ترافیک استفاده کنید: اگر نسخه مخرب باشد، شما چند سکه از دست میدهید، نه یک مجموعه کاری. برای پروفایلهای عملیاتی، پروکسیهایی نیاز دارید که اثر انگشت را خراب نکنند: پروکسیهای مسکونی IP ارائهدهندگان خانگی را ارائه میدهند و برای بیشتر سناریوهای چندحسابی مناسب هستند، و برای شبکههای اجتماعی و حسابهای تبلیغاتی با ضد تقلب سخت، پروکسیهای موبایل با آدرسهای اپراتورهای ارتباطی بهتر عمل میکنند.
قانون جداگانه: برای هر ابزار جدید — یک زیر حساب یا یک نام کاربری پروکسی خاص. اگر برنامه «با سورپرایز» باشد، شما فقط یک رمز عبور را تغییر میدهید و به یاد نخواهید آورد که کجا دیگر مشترک بودهاید. همان اصل ایزولهسازی اسرار تیمها را از کمپینهایی مانند Flooding Dropper در npm که به طور خاص به دنبال اعتبارنامههای پروکسی تیمهای اسکرپینگ بودند، نجات داد.
چکلیست کوتاه
- پروژه را از طریق وبسایت رسمی پیدا کردم، نه از طریق جستجو؛ این نه کلون است و نه فورک تصادفی.
- باینری در Releases قرار دارد، در CI ساخته شده است، checksum مطابقت دارد.
- اسکریپتهای نصب، بهروزرسانیها و تلمتری را بررسی کردم، نمادهای نامرئی را جستجو کردم.
- اولین راهاندازی — در ماشین مجازی، با پروکسی آزمایشی، تحت نظارت بر شبکه و بارگذاری خودکار.
- اثر انگشت از بررسیهای WebRTC، DNS، منطقه زمانی و Client Hints عبور کرد.
- مجوز استفاده من را مجاز میداند، پروژه در ماههای اخیر بهروزرسانی شده است.
- برای ابزار جدید — نامهای کاربری پروکسی جداگانه.
نتیجهگیری
آنتیدیتکت رایگان از GitHub میتواند ابزاری عالی باشد، اما فقط پس از بررسی. در سال ۲۰۲۶، مهاجمان مخازن محبوب را در عرض چند ساعت کلون میکنند، کد را در نمادهای نامرئی پنهان میکنند و به استایلرها رباتهای پروکسی اضافه میکنند که کامپیوتر شما را به یک نود خروجی از دیگران تبدیل میکند. نیم ساعت برای بررسی با چکلیست کمتر از یک مجموعه سرقت شده کوکی از حساب تبلیغاتی هزینه دارد. و یک پروکسی آزمایشی جداگانه با باقیمانده کم ترافیک این بررسی را تقریباً رایگان میکند.
