تصور کنید یک کاربر ناشناس در گیتهاب بتواند تنها با یک حساب کاربری و یک حلقهٔ خودکار، زیربنای دیجیتالی نیمی از اینترنت را به خطر بیندازد. در ۲۱ ژوئن ۲۰۲۶، اتفاقاً همین اتفاق افتاد: شخصی با نام مستعار bikini بیش از ۲۰ کد اثباتی (Proof-of-Concept) برای بهرهبرداری از حفرههای امنیتی در زیرساختهای حیاتی متنباز منتشر کرد.
این مخزن که «exploitarium» نام دارد، بدون هیچ هشدار قبلی به توسعهدهندگان، بخشهای حساس شبکه و نرمافزاری را هدف قرار داد. طبق گزارشهای منتشر شده در Hacker News، هیچکدام از این باگها پیش از انتشار به سازندگان گزارش نشده بود و در لحظه انتشار، هیچ وصله امنیتی برای آنها وجود نداشت. نویسنده در فایل README صراحتاً اعلام کرد که هیچ گزارتی ارسال نکرده و از دیگران خواست تا این باگها را ثبت کنند تا «اعتبار CVE» (شناسه استاندارد آسیبپذیری) به نام آنها ثبت شود.
این رویداد در حالی رخ میدهد که جامعه امنیت سایبری با تغییر مسیر از بررسیهای دستی به کشف خودکار دستوپنجه نرم میکند. برای اکثر کسبوکارها، ابزارهای متنباز مانند پیریزهای نامرئی هستند که تمام سیستم روی آنها بنا شده است. همانطور که در تحلیل قبلی ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، وقتی یک فرد بتواند همزمان ۲۰ کتابخانه حیاتی را تهدید کند، پروفایل ریسک برای تمام سازمانها تغییر میکند. این موج حملات خودکار، یادآور اقدام اضطراری مایکروسافت در ابتدای ماه بود که برای متوقف کردن بدافزارهای تولید شده توسط AI، ۷۰ پروژه گیتهاب را تعطیل کرد.
دامنه حملات
مخزن مذکور شامل ۲۳ پوشه مجزا است که هر کدام یک کد اثباتی برای یک نرمافزار مختلف دارند. این اهداف در گروههای زیر دستهبندی میشوند:
- زیرساختهای شبکه: کتابخانه c-ares (حلکننده DNS در curl)، libssh2، nghttp2 و OpenVPN.
- ابزارهای توسعه: Ghidra و objdump برای مهندسی معکوس و nmap برای اسکن شبکه.
- رمزگشایهای رسانهای: ابزارهایی مثل FFmpeg، VLC، ImageMagick و مدیریت RAR5 در 7-Zip که برای دو دهه «بهطور خاموش خطرناک» بودهاند.
- برنامههای کاربردی: Docker، PHP، Firefox، MyBB و SystemInformer.
به نقل از تحلیلگران فنی، برخی از این موارد مانند libssh2-cve-2026-55200 دارای شماره CVE رسمی هستند. مورد nmap که مربوط به تجزیه طول افزونه IPv6 است، بسیار خطرناک ارزیابی شده؛ زیرا در کدهای تجزیهکننده (Parser) قرار دارد و دقیقاً همان جایی است که احتمال اجرای کد از راه دور (RCE) وجود دارد. سایر یافتهها شامل باگهای use-after-free، ارتقای سطح دسترسی در MyBB و SystemInformer است.
سازوکار مبتنی بر هوش مصنوعی
تفاوت اصلی این حمله در روش شناسایی است. نویسنده اعتراف کرد که کل گردشکار فازینگ (Fuzzing) — که شبیه بمباران تصادفی یک برنامه با دادههای عجیب برای پیدا کردن نقاط شکست است — توسط مدل GPT-5.5-3-Codex-Spark خودکار شده است. هوش مصنوعی زاینده (Generative AI) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد — با اجرای تستها روی یک چارچوب سختگیرانه، باگهای احتمالی را شناسایی میکرد و سپس یک انسان آنها را تایید میکرد.
جالب اینجاست که پژوهشگر معتقد است برای این کار نیازی به مدلهای پیشرو (SOTA) نیست. او میگوید اگر یک چارچوب (Harness) خوب و نظارت انسانی دقیق داشته باشید، نوع مدل اهمیت کمتری دارد. تقسیم کار در این پروژه به این شکل بود:
- کشف: توسط حلقههای خودکار AI انجام شد و هفتهها بررسی دستی را به چند ساعت کاهش داد.
- مستندسازی: متنها کاملاً توسط LLM تولید شدند چون فرمت Markdown را بهخوبی میسازند.
- اجرا: کدهای نهایی اکسپلویت توسط انسان تایپ شدند (به جز در RustDesk که نویسنده به دلیل تسلط کم بر زبان Rust از AI کمک گرفت).
این مدل تقسیم کار احتمالاً الگوی سالهای آینده پژوهشهای امنیتی خواهد بود. AI دیگر فقط ابزاری برای تکمیل کد نیست؛ بلکه تحلیلگری است که هرگز نمیخوابد و دقیقاً اشاره میکند کدام خط از کد C دچار سرریز شده است.
تحلیل اعتبار یافتهها
بعد از انتشار، جامعه Hacker News شروع به کالبدشکافی کرد. از آنجا که هیچکس متخصص تمام کدبیسها نیست، این ارزیابی بهصورت عمومی و شتابزده رخ داد و نتایج متناقضی داشت:
- Ghidra: برخی کاربران اشاره کردند که یکی از یافتهها نیاز دارد مهاجم از قبل دسترسی جایگزینی فایلهای باینری را داشته باشد؛ یعنی عملاً حمله از پیش رخ داده و این یک باگ نیست.
- Docker و VLC: مورد داکر به عنوان یک «باگ عجیب» و نه یک حفره قابل بهرهبرداری رد شد و کد VLC منجر به کرش ساده شد، بدون اینکه راهی برای اجرای کد произво باز کند.
- تأیید شدهها: باگهای c-ares، libssh2 و FFmpeg را تحلیلگران درست و فعال گزارش کردند.
جنگ اخلاقی: افشای کامل در برابر هماهنگ
این اتفاق دوباره جنگ میان دو دیدگاه را شعلهور کرد. افشای هماهنگ (Coordinated Disclosure) معتقد است باید ابتدا به سازنده خبر داد و ۶۰ تا ۹۰ روز فرصت داد تا وصله را منتشر کند. منطق این است که انتشار اکسپلویت فعال، کاربران نهایی را در معرض خطر قرار میدهد.
در مقابل، افشای کامل (Full Disclosure) میگوید باگهای مخفی امن نیستند و سکوت فقط به نفع مهاجمانی است که قبلاً آنها را یافتهاند. فشار عمومی تنها راه جلوگیری از اهمال سازندگان است.
کاربر bikini افراطیترین حالت افشای کامل را پیش گرفت: بدون گزارش خصوصی، بدون بازه زمانی و بدون هشدار. برخی کاربران این کار را برای جلوگیری از انباشت باگها در «جعبهابزار دولتها» ستودند و برخی دیگر آن را تخریب امنیت نرمافزارهای جهان دانستند.
چرا زبان C همچنان آسیبپذیر است؟
الگوی هدفها مشخص است: تقریباً همه آنها ورودیهای نامعتبر را با زبان C تجزیه میکنند. از پروتکلهای شبکه گرفته تا رمزگشاهای ویدیو. زبان C بهطور بنیادی برای تجزیه دادهها خطرناک است چون:
۱. محدودههای حافظه را چک نمیکند.
۲. جلوی استفاده از حافظه آزاد شده (use-after-free) را نمیگیرد.
۳. هنگام سرریز شدن اعداد صحیح هشدار نمیدهد.
همین دلیل است که جنبشی برای بازنویسی کدها با زبان Rust شکل گرفته و ابزاری مثل curl اکنون یک حلکننده DNS اختیاری بر پایه Rust دارد. در همین راستا، بنیاد لینوکس با هدف مقابله با این تهدیدات و تشکیل Akrites تلاش میکند تا سرعت وصله کردن حفرههای متنباز را در برابر AI افزایش دهد.
گام بعدی شما
- تمام نسخههای نرمافزارهای ذکر شده را فوراً به آخرین نسخه بهروزرسانی کنید.
- رمزگشاهای رسانهای و تجزیهکنندههای پروتکل را در محیطهای ایزوله (Sandbox) یا کانتینرهایی با محدودیت seccomp اجرا کنید.
- اگر توسعهدهنده هستید، از تستهای مبتنی بر ویژگی (Property-based testing) و فازینگ مستمر برای کدهای C استفاده کنید و برای اتوماسیون مدیریت آسیبپذیریها، از رویکردهایی مشابه پلتفرم LibX که اسکنهای دورهای را به چرخههای مداوم امنیتی تبدیل میکند بهره ببرید.
اما نکته تکاندهنده، تقارن منفی این قدرت است؛ یک فرد ناشناس با یک حلقه AI میتواند ۲۰ پروژه جهانی را مجبور کند همه چیز را رها کرده و آتشسوزیهای خود را چک کنند. این صدای پسزمینه باگهای حافظه که ۴۰ سال شنیده میشد، حالا قرار است بسیار بلندتر شود. به تحلیل ما دربارهی جایگزینی C با Rust در زیرساختهای حساس مراجعه کنید.




گفتگو