حمله زنجیره تأمین به پکیج node-ipc برای سرقت اطلاعات
خلاصهٔ کاملتر
پکیج node-ipc یک ماژول Node.js هست که ارتباط بین پروسسها (IPC) رو از طریق انواع سوکتها مثل Unix، TCP، TLS و UDP فراهم میکنه. این پکیج با بیش از ۶۹۰ هزار دانلود هفتگی، یکی از پرکاربردترینهای اکوسیستم npm به حساب میاد. اخیراً چندین شرکت امنیتی از جمله Socket، Ox Security و Upwind یک حمله زنجیره تأمین (supply chain attack) رو شناسایی کردن که سه نسخه از این پکیج رو آلوده کرده.
نسخههای مخرب شناساییشده عبارتند از 9.1.6، 9.2.3 و 12.0.1. به نظر میرسه مهاجمان از طریق به خطر انداختن حساب یک نگهدارنده غیرفعال به نام «atiertant» به پکیج دسترسی پیدا کردن. کد مخرب داخل فایل node-ipc.cjs (نقطه ورود CommonJS) پنهان شده و به محض لود شدن اپلیکیشن، بدون هیچ اقدام اضافهای اجرا میشه.
بدافزار به شدت مبهمسازی (obfuscate) شده و طیف گستردهای از اطلاعات حساس رو جمعآوری میکنه، از جمله:
- اعتبارنامههای ابری AWS، Azure، GCP، DigitalOcean و سرویسهای مشابه
- کلیدهای SSH و فایلهای config مربوط به اونها
- توکنهای npm، GitHub، GitLab و Git CLI
- فایلهای .env، اسرار CI/CD و تاریخچه shell
- فایلهای Keychain در macOS و keyring در لینوکس
- اطلاعات پروفایل Firefox و local storage مایکروسافت Teams
یکی از ویژگیهای خاص این حمله، روش exfiltration یا انتقال دادههای دزدیدهشدهست. به جای ترافیک معمول HTTP که راحتتر شناسایی میشه، بدافزار از کوئریهای DNS TXT استفاده میکنه. دادهها ابتدا در آرشیوهای فشرده tar.gz ذخیره میشن و سپس از طریق یک دامنه جعلی با ظاهر Azure (به نام sh[.]azurestaticprovider[.]net) به مقصد ارسال میشن. طبق تخمین Socket، یک آرشیو ۵۰۰ کیلوبایتی میتونه حدود ۲۹،۴۰۰ درخواست DNS تولید کنه که این حجم ترافیک میان جریان عادی DNS گم میشه.
بدافزار بعد از ارسال اطلاعات، فایلهای موقت رو حذف میکنه تا ردپای فرانزیکی کمتری باقی بمونه. همچنین نه persistence ایجاد میکنه، نه payload ثانویهای دانلود میکنه؛ پس هدفش صرفاً سرقت سریع اطلاعات اعتبارسنجیه.
اگه از node-ipc استفاده میکنی، این اقدامات رو فوری انجام بده:
- نسخههای آلوده رو حذف و به نسخه امن ارتقا بده
- تمام secret ها و credential های احتمالاً افشاشده رو rotate کن
- lockfile و npm cache رو برای ردپای احتمالی بررسی کن
نکات کلیدی:
- سه نسخه 9.1.6، 9.2.3 و 12.0.1 از node-ipc مخرب و آلوده هستند
- مهاجمان از حساب یک نگهدارنده غیرفعال برای انتشار نسخههای مخرب استفاده کردن
- بدافزار اعتبارنامههای ابری، کلیدهای SSH، توکنهای Git و اسرار CI/CD رو هدف میگیره
- دادهها از طریق DNS TXT query استخراج میشن تا شناسایی سختتر باشه
- بدافزار فایلهای موقت رو پاک میکنه و persistence ایجاد نمیکنه




