در مجموع 18 بسته JavaScript که بیش از 2 میلیارد بارگیری در هفته دارند ، با کد مخرب در آنچه به عنوان بزرگترین هک زنجیره تأمین در تاریخ صورت می گیرد ، تزریق شده اند. کد به خطر افتاده برای سرقت رمزنگاری طراحی شده است.
این تصویر را تصویر کنید: تانوس ، یک شیدایی وسواس مرگ که در جهان سینمایی مارول قرار دارد تا رادیکال ترین فعال محیط زیست در تاریخ باشد ، دستکش بی نهایت را جمع آوری کرده است. با آن ، او می توانست نیمی از جمعیت جهان را از بین ببرد. او دست خود را بلند می کند ، انگشتان خود را می چسباند و … به جای آن دسته ای از رمزنگاری را می دزد. مطمئناً دستکش بی نهایت هنوز یک مشکل خواهد بود ، اما آیا این اولین ضربه محکم و ناگهانی به عنوان یک تسکین نمی یابد؟
این نوعی از چگونگی سازش اخیر بسته های JavaScript است که میلیارد ها بار بارگیری شده است. آیا سهولتی که یک بازیگر تهدید ناشناخته با آن توانست نگهدارنده این بسته ها را به خطر بیاندازد ، نرم افزار را اصلاح کند و آن را توزیع کند و وضعیت فاجعه بار توسعه نرم افزار مدرن را برجسته کند؟ کاملا اما ما خوش شانس هستیم.
این چیزی است که اتفاق افتاده است. آیکیدو دیروز گفت که 18 بسته “به روز شده است تا حاوی یک قطعه کد باشد که بر روی مشتری یک وب سایت اجرا شود ، که به طور سکوت فعالیت Crypto و Web3 را در مرورگر رهگیری می کند ، تعامل کیف پول را دستکاری می کند ، و مقصد پرداخت را بازنویسی می کند تا وجوه و تأییدیه ها به سمت حسابهای قابل کنترل و بدون علامت مشخص در مورد کاربر هدایت شوند.
بسته های مورد نظر از طریق NPM ، مدیر بسته GitHub و رجیستری برای اکوسیستم Node.js توزیع می شود و آنها به طور جمعی تقریباً 2 میلیارد بار در هفته بارگیری می شوند. از نظر تئوری ، هکر می توانست از توانایی اصلاح این بسته ها برای انجام هر کاری استفاده کند. آیکیدو گفت که آنها تصمیم به تلاش برای سرقت “Ethereum ، Bitcoin ، Solana ، Tron ، Litecoin و Bitcoin Cash” گرفتند.
ما نمی دانیم که این بسته های مخرب تا چه حد گسترش یافته است. خود بسته ها هفته ای میلیاردها بار در هفته بارگیری می شوند ، اما این حداقل تا حدودی یک محصول جانبی از سیستم های ساخت نرم افزار است که دائماً در حال واکشی و دوباره وابستگی های یک پروژه است. هیچ انکار این بسته ها محبوب نیست ، و سازمان هایی که نرم افزار آنها به آنها بستگی دارد ، باید اطمینان حاصل کنند که از نسخه های مخرب استفاده نمی کنند.
اما آیا این حداقل نتیجه یک حمله پیشرفته بود؟ خیر. نگهدارنده این بسته ها (که باید به آن توجه داشت ، از دسته “بدبخت” در Bluesky استفاده می کند) گفت که آنها یک ایمیل تنظیم مجدد احیاء دو عاملی دریافت کرده اند که “از” support@npmjs.help “بسیار قانونی به نظر می رسد و فکر می کردند خوش خیم است. این نبود تمام آنچه برای بیرون کشیدن هک این مقیاس طول کشید ، یک نام دامنه ، یک ایمیل و تمایل به امتحان کردن بود.
این یک مشکل جدید نیست ، و همچنین منحصر به NPM نیست. من در سال 2021 گزارش دادم که هکرها نگهدارنده بسته های مورد استفاده توسط توسعه دهندگان JavaScript ، Python ، Ruby و Java را در نرم افزار خود هدف قرار می دادند و حتی پس از آن ، این مشکل سالها شناخته شده بود. حادثه بدنام سمت چپ-جایی که در حذف 11 خط کد “اینترنت را شکست” زیرا نرم افزار زیادی به آن بستگی داشت-در سال 2016 مشخص شد.
این صنعت با تشویق استفاده از لوایح نرم افزاری مواد (SBOM) تلاش کرده است تا این مشکل را برطرف کند ، و به نگهدارنده بسته های گسترده استفاده شده برای تأمین اعتبار حسابهای خود با احراز هویت دو عاملی و غیره نیاز دارد. با این حال این حادثه ثابت می کند که این اقدامات کافی نیست. تا زمانی که فرآیندهای پذیرفته شده برای توسعه ، حفظ و انتشار تغییر نرم افزار ، این مشکلات همچنان ادامه داشته باشد.
این بار از دستکش بی نهایت برای سرقت رمزنگاری استفاده شد. آیا تانوس بعدی انگشتان خود را با همان نیت می چسباند؟ و در مرحله اول قرار خواهد گرفت ، ضربه محکم و ناگهانی که باعث آسیب بیشتر از یک دزد رمزنگاری می شود ، یا ورود چیزی که در نهایت می تواند جلوی آن چنگ زدن را بگیرد؟ تانوس ادعا کرد که او اجتناب ناپذیر است. آیا ما واقعاً فقط خودمان را به این امید که فقط در صفحه نقره صادق باشد ، می فرستیم؟
دنبال کردن سخت افزار تام در Google News، یا ما را به عنوان یک منبع ترجیحی اضافه کنید، برای به دست آوردن اخبار ، تجزیه و تحلیل و بررسی های به روز خود در فیدهای خود. حتماً روی دکمه دنبال کنید!