هفته گذشته در نوشدارو راجع به نفوذ به گیتهاب از مسیر یک افزونه مخرب VS Code و همچنین ماجرای هک گیتهاب گرافانا نوشته بودیم؛ نمونههایی از یک روند نگرانکننده: اینکه هکرها بهجای حمله مستقیم به کاربر عادی، سراغ ابزارها و مسیرهایی میروند که برنامهنویسان برای ساخت و انتشار نرمافزار از آنها استفاده میکنند. حالا حمله تازهای با نام «مگالودون» (Megalodon) همین زنگ خطر را بلندتر کرده است، چرا که چندمین رسوخ از نوع حمله زنجیره تامین (Supply Chain Attack) در سال جاری میلادی است.
طبق گزارش پژوهشگران موسسه SafeDep، در این حمله بیش از ۵۵۰۰ مخزن گیتهاب آلوده شدهاند. روش کار هم در ظاهر ساده اما خطرناک بوده: مهاجم با هویتی شبیه به یک ربات خودکار (مثل build-bot) تغییراتی را وارد پروژهها میکرد. اگر نگهدارنده پروژه این تغییرات را میپذیرفت، بدافزار میتوانست به اطلاعات حساس توسعهدهندگان، از جمله کلیدهای سرویسهای ابری، توکنها و دسترسیهای مهم پروژه دست پیدا کند.
اما خطر فقط به همان پروژهها محدود نمیماند. اگر کد آلوده بعداً در بستههای نرمافزاری عمومی مثل «انپیام» (npm) منتشر شود، کاربران و شرکتهایی که از آن بستهها استفاده میکنند هم ممکن است ناخواسته درگیر شوند. در یک نمونه، نسخههایی از پروژه Tiledesk از منبعی آلوده منتشر شده بود، بدون اینکه حساب npm نگهدارنده مستقیماً هک شده باشد.
پیام ماجرا ساده است: در دنیای نرمافزارهای متنباز، گاهی یک تغییر کوچک، یک «کامیت» ظاهراً عادی یا یک ربات بهظاهر بیخطر میتواند زنجیرهای از آلودگی را رقم بزند. از طرف دیگر امنیت نرمافزاری که استفاده میکنیم، فقط به منبع دانلود آن وابسته نیست؛ بلکه به تمام مسیر ساخت، نگهداری و انتشار هم بستگی دارد.
