نفوذ به ۱۴۴ بسته npm از مجموعه Mastra
یک حمله بزرگ به زنجیره تأمین نرمافزار به اکوسیستم هوش مصنوعی JavaScript وارد شده است.
مهاجمان ۱۴۴ بسته npm را در فضای نام @mastra مورد نفوذ قرار دادند. این حادثه که با نام easy-day-js شناخته میشود، به دلیل هک شدن حساب کاربری یکی از مشارکتکنندگان رخ داد.
وقتی یک حساب مورد اعتماد از دست میرود، آسیب به سرعت گسترش مییابد. یک رخنه به مهاجم اجازه داد تا نسخههای مخرب تقریباً تمام بستههای اصلی Mastra را منتشر کند. این موضوع توسعهدهندگان هوش مصنوعی و تیمهای سازمانی را در معرض خطر قرار میدهد.
نحوه عملکرد حمله:
- یک مهاجم کنترل یک حساب npm قانونی را به دست گرفت.
- آنها از این اعتبارنامهها برای انتشار کدهای مخرب در کل فضای نام @mastra استفاده کردند.
- مهاجم ۱۴۴ بسته را با توالی بسیار سریع منتشر کرد.
- اکثر سیستمهای خودکار اینها را به عنوان بهروزرسانیهای معمول در نظر گرفتند.
خطر بسیار بالاست. کدهای مخرب میتوانند کلیدهای API، اعتبارنامههای توسعهدهنده یا دادههای کاربران را سرقت کنند. همچنین میتوانند باعث از کار افتادن فرآیند Build یا ایجاد باگ شوند.
چگونه از پروژههای خود محافظت کنید:
- وابستگیهای خود را بررسی کنید. دستور
npm auditرا برای بررسی درخت وابستگیها اجرا کنید. - تاریخچه نسخهها را بررسی کنید. به دنبال انتشار ناگهانی و انبوه نسخههای جدید باشید.
- از ابزارهای اسکن استفاده کنید. ابزارهایی مانند Socket یا JFrog به شناسایی ناهنجاریها کمک میکنند.
- از فایلهای قفل (lockfiles) استفاده کنید. همیشه از
package-lock.jsonیاnpm ciاستفاده کنید تا فرآیند Build شما پایدار بماند. - احراز هویت دو مرحلهای (2FA) را اجباری کنید. اطمینان حاصل کنید که همه مشارکتکنندگان از احراز هویت دو مرحلهای استفاده میکنند.
اگر از هر یک از بستههای @mastra استفاده میکنید، همین حالا نسخههای خود را بررسی کنید. بلافاصله وابستگیهای خود را به نسخههای ایمن و شناختهشده محدود (Pin) کنید.
دنیای متنباز بر پایه اعتماد بنا شده است. شما باید با هر بهروزرسانی جدید به عنوان یک ریسک بالقوه برخورد کنید.
منبع: https://dev.to/davekurian/144-mastra-npm-packages-compromised-in-software-supply-chain-attack-4ddn
انجمن یادگیری اختیاری: https://t.me/GyaanSetuAi