نفوذ به کتابخانه Solana Web3.js در حمله زنجیره تأمین
یک حمله زنجیره تأمین قابل توجه، اکوسیستم سولانا را تحت تأثیر قرار داده و کتابخانه جاوا اسکریپت @solana/web3.js را هدف قرار داده است. این ابزار حیاتی که توسعهدهندگان برای ایجاد برنامههای غیرمتمرکز (dApps) در بلاکچین سولانا به آن وابسته هستند، در ۲ دسامبر دچار نفوذ شد. هکرها به حساب کاربری یکی از توسعهدهندگان این کتابخانه دسترسی پیدا کردند. این ابزار که بیش از ۳۵۰ هزار بار در هفته توسط توسعهدهندگان برنامههای سولانا دانلود میشود، در نسخههای ۱.۹۵.۶ و ۱.۹۵.۷ به کد مخرب آلوده شد که کلیدهای خصوصی را استخراج کرده و وجوه را به سرقت میبرد.
طبق دادههای Solscan، این نفوذ منجر به سرقت ۱۶۰ هزار دلار از داراییها، از جمله توکنهای SOL و سایر داراییهای کریپتو شد. تیم توسعهدهنده Anza که بر سولانا تمرکز دارد، این نفوذ را در روز سهشنبه افشا کرد و گفت که این اتفاق زمانی رخ داد که حساب کاربری دارای دسترسی انتشار برای این کتابخانه در npm به خطر افتاد. مهاجمان بهروزرسانیهای غیرمجاز حاوی یک در پشتی را معرفی کردند که دادههای کلید خصوصی را به یک آدرس از پیش تعیینشده ارسال میکرد. این نسخههای مخرب قبل از اینکه چند ساعت بعد از npm حذف شوند، دانلود شدند.
این حمله توسعهدهندگانی را تحت تأثیر قرار داد که بین ساعت ۱۵:۲۰ تا ۲۰:۲۵ به وقت هماهنگ جهانی در ۲ دسامبر کتابخانه را بهروزرسانی کردند، بهویژه کسانی که از سیستمهای بکاند یا رباتهای وابسته به کلیدهای خصوصی استفاده میکردند. با استفاده از این دسترسی، مهاجمان نسخههای تغییر یافته کتابخانه (۱.۹۵.۶ و ۱.۹۵.۷) را آپلود کردند که حاوی کدی بود که بهطور مخفیانه کلیدهای خصوصی را به یک آدرس تحت کنترل هکرها ارسال میکرد. این کلیدها به هکرها اجازه میداد تا وجوه را از برنامههایی که از کتابخانه آلوده استفاده میکردند، سرقت کنند. این نوع حادثه به عنوان یک حمله زنجیره تأمین شناخته میشود، جایی که هکرها نرمافزاری را که توسعهدهندگان به آن وابسته هستند دستکاری میکنند و کد مخرب را بهطور گسترده پخش میکنند. پروژهها یا سیستمهایی که این نسخههای کتابخانه را دانلود و ادغام کردند، بدون آگاهی در معرض این آسیبپذیری قرار گرفتند.
در بیانیهای عمومی، Phantom، یکی از پرکاربردترین کیف پولهای سولانا، تأیید کرد که هرگز از نسخههای آلوده این کتابخانه استفاده نکرده است و اطمینان داد که کاربرانش تحت تأثیر قرار نگرفتهاند. بهطور مشابه، Solflare و سایر پروژههای کلیدی مانند Drift و Backpack به جوامع خود اطمینان دادند که اقدامات امنیتی قوی از هرگونه نفوذ جلوگیری کرده است. توسعهدهندگانی که به عملیات کلید خصوصی در نسخههای آسیبدیده وابسته بودند، قربانیان اصلی بودند، اما کاربران نهایی تا حد زیادی در امان ماندند. چهرههای برجسته در جامعه سولانا تأکید کردند که این حمله به خود بلاکچین سولانا آسیب نرسانده است.
در پی این نفوذ، از توسعهدهندگان خواسته شده است که فوراً به نسخه ۱.۹۵.۸ کتابخانه بهروزرسانی کنند، پروژههای خود را برای وابستگی به نسخههای آلوده بررسی کنند و کلیدهای خصوصی را تغییر داده و مجدداً تولید کنند تا از خسارات بیشتر جلوگیری شود. npm از آن زمان نسخههای آسیبدیده را حذف کرده است و ابزارهایی مانند Socket برای شناسایی آسیبپذیریها در مخازن به توسعهدهندگان توصیه شدهاند. این نفوذ بخشی از یک روند نگرانکننده در حملات زنجیره تأمین است که در آن هکرها ابزارهای نرمافزاری پرکاربرد را هدف قرار میدهند تا به گروه بزرگی از افراد حمله کنند.
هاکان اونال، دانشمند ارشد بلاکچین در Cyverse، به Decrypt گفت که «حمله اخیر به زنجیره تأمین کتابخانه سولانا، یک مسئله حیاتی در توسعه نرمافزار مدرن را برجسته میکند: امنیت وابستگیهای شخص ثالث.» اونال افزود: «این وابستگیها—کتابخانهها یا اجزای متنباز که در یک پروژه بزرگتر ادغام میشوند—بهطور گسترده برای تسریع توسعه استفاده میشوند. با این حال، اگر بهطور دقیق مدیریت نشوند، میتوانند به بردارهای حمله برای عوامل مخرب تبدیل شوند و بهویژه در کریپتو، جایی که سود سرمایه بالا است، استانداردهای سختگیرانهای مورد نیاز است.»
یک حمله مشابه اخیراً کتابخانه جاوا اسکریپت Lottie Player را تحت تأثیر قرار داد که بهطور گسترده برای انیمیشنهای وب استفاده میشود. هکرها کد مخرب را در بسته npm آن جاسازی کردند که منجر به خسارات کریپتو بیش از ۷۲۳ هزار دلار شد. در آن مورد، کاربران با بازدید از وبسایتهای آلوده، بدون آگاهی درخواستهای جعلی اتصال کیف پول را امضا میکردند و به مهاجمان اجازه دسترسی به وجوه خود را میدادند.