𝟭𝟰𝟰 بسته npm Mastra به خطر افتادند
یک حمله بزرگ به زنجیره تأمین نرمافزار (software supply chain) اکوسیستم JavaScript را هدف قرار داده است.
مهاجمان یک حساب کاربری مشارکتکننده (contributor) در npm را به کنترل خود درآوردند. آنها از این دسترسی برای انتشار بهروزرسانیهای مخرب در ۱۴۴ بسته مختلف تحت فضای نام (namespace) @mastra استفاده کردند.
Mastra یک فریمورک محبوب برای ساخت برنامههای هوش مصنوعی است. این بدان معناست که خطر مستقیماً به ابزارهای هوش مصنوعی که میسازید و استفاده میکنید، سرایت میکند.
این حمله که با نام easy-day-js شناخته میشود، از طریق مسموم کردن کتابخانههای مورد اعتماد عمل میکند. از آنجایی که مهاجم دسترسیهای سطح حساب کاربری را داشت، توانست بررسیهای معمول را دور بزند. وقتی دستور نصب (install) یا بهروزرسانی (upgrade) را اجرا میکنید، ممکن است بدون اینکه بدانید، کدهای مخرب را وارد پروژه خود کنید.
ریسکها شامل موارد زیر است:
- سرقت کلیدهای API و اعتبارنامههای (credentials) شما.
- تغییر در نحوه عملکرد مدلهای هوش مصنوعی شما.
- دسترسی به خط لولههای (pipelines) CI/CD شما.
- حرکت جانبی (lateral movement) در محیطهای ابری شما.
برای محافظت از پروژههای خود باید سریع عمل کنید. این مراحل را دنبال کنید:
۱. بلافاصله وابستگیهای (dependencies) خود را بررسی کنید.
این دستور را برای یافتن هرگونه بسته @mastra در پروژه خود اجرا کنید:
npm ls --all | grep "@mastra/"
۲. از اسکنرهای امنیتی استفاده کنید.
دستور npm audit را برای بررسی آسیبپذیریهای شناختهشده اجرا کنید. از ابزارهایی مانند Socket یا JFrog برای نظارت بر هشدارهای زنده استفاده کنید.
۳. نسخهها را ثابت (Pin) نگه دارید.
در فایل package.json از کاراکترهای Wildcard استفاده نکنید. وابستگیهای خود را روی یک نسخه خاص و ایمن قفل کنید تا از بهروزرسانی خودکار به کدهای مسموم جلوگیری شود.
۴. اعتبارنامههای خود را تغییر دهید (Rotate). اگر مشکوک به نفوذ هستید، بلافاصله کلیدها و اسرار (secrets) خود را تغییر دهید.
۵. احراز هویت دو مرحلهای (2FA) را اجباری کنید. اگر بستههای npm را مدیریت میکنید، برای تمام حسابهای مشارکتکننده از احراز هویت چندعاملی استفاده کنید.
مدل اعتماد در دنیای متنباز (open-source) شکننده است. یک حساب کاربری هک شده میتواند هزاران توسعهدهنده را تحت تأثیر قرار دهد. منتظر نمانید. همین امروز درخت وابستگیهای (dependency tree) خود را بررسی کنید.