⚠️⚠️⚠️حملهای بیسابقه به اکوسیستم NPM گزارش شده است که به عنوان بزرگترین حمله زنجیره تأمین نرمافزار در تاریخ این بستر شناخته میشود:
امروز، سازمان امنیت سایبری Aikido Security اعلام کرده که حساب maintainer شناختهشدهای به نام qix- در اثر یک حمله فیشینگ به دست مهاجمان افتاده است. مهاجمان موفق شدند ۱۸ بستهی محبوب npm مانند chalk، debug و ansi-styles را دستکاری کنند. این بستهها در مجموع بیش از دو میلیارد بار دانلود هفتگی دارند
NPM) مخفف Node Package Manager هست.
این ابزار یکی از اصلیترین بخشهای اکوسیستم Node.js به حساب میاد.
⚠️کارهایی که نباید انجام بدیم
(وقتی شک داریم سیستم یا پروژه ممکنه آلوده باشه)
تراکنش مالی/کریپتو نزنیم
چون بدافزار میتونه آدرس گیرنده رو عوض کنه.
سیستم آلوده رو روشن یا آنلاین نکنیم
روشن کردن = اجرای کد مخرب (post-install scripts).
آنلاین شدن = اتصال به C2 server و لو رفتن دادهها.
بهروزرسانی خودکار بدون بررسی نزنیم
ممکنه آخرین نسخهی یک پکیج مخرب باشه.
از ریجستریهای غیررسمی یا پکیجهای ناشناخته نصب نکنیم
مخصوصاً بستههایی با اسم شبیه
ایمیل یا پیامهای مشکوک رو باز نکنیم
خیلی از این حملات با فیشینگ شروع میشن (مثل ایمیل جعلی npm).
پسوردهای قدیمی رو دوباره استفاده نکنیم چون اگه لو رفته باشه، مهاجم راحت وارد حساب میشه.
________________________________________________________________________
❌راهکارهای امنیتی برای کاربرهای عادی (غیر برنامه نویس)
اپهای دسکتاپ (Slack, Discord, VS Code …) رو از سورس رسمی بگیر
نه از سایتهای ناشناس یا لینک تلگرام!
تراکنشهای کریپتو رو دوبار چک کن
قبل از تأیید، آدرس مقصد رو دستی مقایسه کن.
کیفپول سختافزاری (Hardware Wallet) استفاده کن
ولی تراکنش هارو با دقت بررسی کن
سیستم رو بهروز نگه دار ولی با تأخیر
بذار چند ساعت یا یک روز از انتشار آپدیت بگذره، تا اگه مخرب بود خبرش دربیاد.
موقع شک → سیستم رو روشن نکن یا کلا قطع اینترنت
تا بدافزار نتونه به C2 Server وصل بشهم Node.js به حساب میاد.
⚠️کارهایی
❌برای توسعهدهندهها و برنامه نویس ها
مدیریت اکانت
FA (Two-Factor Auth)۲ روی حساب npm و GitHub فعال کن (الزامی هم شده).
پسوردها رو با مدیر پسورد (مثل Bitwarden یا 1Password) نگه دار، نه مرورگر.
از کلید امنیتی سختافزاری برای ورود استفاده کن، مخصوصاً اگر maintainer هستی.
مدیریت Dependency
از package-lock.json یا yarn.lock استفاده کن → مطمئن میشه همیشه همون نسخه نصب میشه.
به جای ^1.2.3 بنویس 1.2.3 تا آپدیت ناخواسته نیاد.(خلاصه نسخه ی شناور نصب نکن)
محیط امن
npm install رو توی VM یا Docker تست کن قبل از اینکه بیاری توی سیستم اصلی.
اگر پکیج ناشناس هست → سورس کدشو بررسی کن مخصوصاً پوشهی scripts یا postinstall.
Buildها رو روی CI/CD امن (مثلاً GitHub Actions با secrets محدود) انجام بده.
برای پروژههای حساس از سیستم جداگانه یا VM اختصاصی استفاده کن.
⚙️ @DevFeed01 | Akido Security.
Post #756
140
Forwarded from Dev Feed