GitHub نتایج تجزیه و تحلیل حمله را منتشر کرد، در نتیجه در 12 آوریل، مهاجمان به محیط های ابری در سرویس Amazon AWS مورد استفاده در زیرساخت پروژه NPM دسترسی پیدا کردند. تجزیه و تحلیل این حادثه نشان داد که مهاجمان به نسخههای پشتیبان میزبان skimdb.npmjs.com، از جمله یک نسخه پشتیبان از پایگاه داده با اعتبار برای تقریباً 100 هزار کاربر NPM از سال 2015، از جمله درهمسازی رمز عبور، نامها و ایمیل، دسترسی پیدا کردند.
هش های رمز عبور با استفاده از الگوریتم های نمکی PBKDF2 یا SHA1 ایجاد شدند که در سال 2017 با bcrypt مقاوم تر در برابر نیرو جایگزین شدند. پس از شناسایی حادثه، گذرواژههای آسیبدیده بازنشانی شدند و به کاربران اطلاع داده شد که رمز عبور جدیدی تنظیم کنند. از آنجایی که تأیید دو مرحلهای اجباری با تأیید ایمیل از 1 مارس در NPM گنجانده شده است، خطر نفوذ کاربر به عنوان ناچیز ارزیابی میشود.
علاوه بر این، تمام فایلهای مانیفست و ابردادههای بستههای خصوصی از آوریل ۲۰۲۱، فایلهای CSV با فهرستی بهروز از همه نامها و نسخههای بستههای خصوصی، و همچنین محتویات همه بستههای خصوصی دو مشتری GitHub (نامها) فاش نشده است) به دست مهاجمان افتاد. در مورد خود مخزن، تجزیه و تحلیل ردیابیها و تأیید هش بستهها مشخص نکرد که مهاجمان تغییراتی در بستههای NPM یا انتشار نسخههای ساختگی جدید بستهها ایجاد کردهاند.
این حمله در 12 آوریل با استفاده از توکنهای OAuth به سرقت رفته که برای دو ادغام کننده GitHub شخص ثالث، Heroku و Travis-CI ایجاد شده بودند، انجام شد. با استفاده از توکن ها، مهاجمان توانستند کلید دسترسی به API خدمات وب آمازون را که در زیرساخت پروژه NPM استفاده می شود، از مخازن خصوصی GitHub استخراج کنند. کلید حاصل اجازه دسترسی به داده های ذخیره شده در سرویس AWS S3 را می داد.
علاوه بر این، اطلاعاتی در مورد مشکلات محرمانه جدی شناسایی شده قبلی هنگام پردازش داده های کاربر در سرورهای NPM فاش شد - رمزهای عبور برخی از کاربران NPM و همچنین نشانه های دسترسی NPM به صورت متن واضح در گزارش های داخلی ذخیره می شدند. در طول ادغام NPM با سیستم گزارشگیری GitHub، توسعهدهندگان اطمینان حاصل نکردند که اطلاعات حساس از درخواستهای سرویسهای NPM قرار داده شده در گزارش حذف شده است. گفته می شود که این نقص برطرف شده و لاگ ها قبل از حمله به NPM پاک شده اند. فقط برخی از کارمندان GitHub به گزارشها دسترسی داشتند که شامل رمزهای عبور عمومی میشد.
منبع: opennet.ru