تلاش برای هک زنجیره ای npm

بسته هایی از نرم افزار ESLint که روی مخزن npm قرار داشتند هک شده بودند و این هک میتوانست باعث هک بسته های دیگر شود. این حمله تقریبا خنثی شده است.

 تلاش برای هک زنجیره ای npm

بسته هایی از نرم افزار ESLint که روی مخزن npm قرار داشتند هک شده بودند و این هک میتوانست باعث هک بسته های دیگر شود. این حمله تقریبا خنثی شده است.

npm مخزنی از بسته های نرم افزاری جاواسکریپت است که توسعه دهندگان از آن برای به اشتراک گذاری کد استفاده می کنند. در روز پنجشنبه 12 جولای (21 تیر) دو بسته از نرم افزار ESLint ارائه شده روی این مخزن یعنی eslint-scope و eslint-config-eslint هک شدند.

یکی از توسعه دهندگان این نرم افزار از گذرواژه مشترکی برای ورود به npm و سایت های دیگر استفاده کرده بود. احتمال داده میشود که یکی از این سایت های ثالث هک شده باشد و هکر گذرواژه را از این طریق به دست آورده باشد. سپس هکر با استفاده از این گذرواژه به اکانت توسعه دهنده مذکور در npm وارد شده و کد بسته های ESLint را دستکاری کرده بود.

کدی که مهاجم اضافه کرده بود به این صورت عمل میکرد که وقتی کاربری بسته های (هک شده) مذکور را نصب میکرد کدی از مخرن pastebin دانلود و اجرا میشد که محتویات فایل .npmrc را به مهاجم ارسال میکرد. این فایل حاوی توکن مورد استفاده در احراز هویت npm است. بدین ترتیب مهاجم میتوانست اکانت این کاربر اخیر را نیز به دست گیرد و در نتیجه به طور زنجیره ای بسته های npm را دستکاری کند.

پس از آشکار شدن این حمله سایت pastebin کد بدخواه را حذف کرد. همچنین npm توکن های ارائه شده قبل از 12 جولای را ابطال کرد. ESLint نیز نسخه های هک شده را از مجموعه خود حذف کرد. بنابراین انتظار میرود اثرات این حمله تا حد زیادی خنثی شده باشد.

این حادثه یک بار دیگر اهمیت استفاده از گذرواژه های متفاوت را برای اکانت های مختلف یادآوری میکند.

 

 

منبع

 

کلمات کلیدی