پرش به محتوای اصلی
پرش به محتوای مقاله

کالبدشکافی کلاهبرداری لینکدین: تله‌ی npm install برای سرقت دسترسی برنامه‌نویسان

·۲۶ خرداد ۱۴۰۵۴ دقیقه مطالعه
درب پشتی در پیشنهاد شغلی لینکداین
درب پشتی در پیشنهاد شغلی لینکداین
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

به جای فیشینگ ساده، مهاجمان از اسکریپت‌های خودکارِ نصبِ بسته‌ها (Install scripts) در محیط‌های توسعه برای اجرای بدافزار استفاده کرده‌اند که به‌طور مستقیم trust-chain برنامه‌نویسان را هدف قرار می‌دهد.

اگر امروز پیامی در لینکدین برای یک موقعیت شغلی ارشد در یک استارتاپ کریپتویی دریافت کنید، احتمالاً اولین واکنش شما خوشحالی است. اما باید بدانید که این سناریوی جذاب، مسیر ورود بدافزارهای پیشرفته به سیستم شماست. به نقل از گزارش roman.pt در ۱۵ ژون ۲۰۲۶، این سناریوی خاص برای استقرار درهای پشتی (Backdoors) پیچیده روی ماشین‌های محلی توسعه‌دهندگان مورد استفاده قرار گرفته است.

این حمله مستقیماً اعتماد توسعه‌دهندگان به شبکه‌های حرفه‌ای و مخازن متن‌باز را هدف قرار می‌دهد. در عصری که ارزیابی‌های فنی اغلب شامل بررسی کدهای موجود است، مهاجمان اکنون فرآیند npm install را به سلاحی برای دور زدن شهود امنیتی سنتی تبدیل کرده‌اند.

سناریوی تله

قربانی توسط یک استخدام‌کننده contacted شد که ادعا می‌کرد یک استارتاپ کوچک کریپتویی برای رفع مشکل یک نمونه اولیه (PoC) شکسته به مهندس ارشد نیاز دارد. طبق گزارش منتشر شده، این شخص توسعه‌دهنده را به یک مخزن عمومی در GitHub هدایت کرد و به‌طور خاص او را تشویق کرد تا «مشکل ماژول‌های منسوخ‌شده Node» را بررسی کند؛ این دقیقاً همان طعمه‌ای بود که کاربر را به نصب وابستگی‌ها وا می‌داشت.

توسعه‌دهنده برای پیشگیری از عفونت، از یک سرور مجازی Hetzner یک‌بارمصرف و یک عامل هوش مصنوعی با دسترسی فقط-خواندنی (Pi) برای اسکن کد استفاده کرد. این عامل به‌گونه‌ای پیکربندی شده بود که تنها ابزارهای pi --tools read,grep,find,ls را داشت. این عامل بلافاصله فایل مشکوک app/test/index.js را شناسایی و پرچم‌گذاری کرد.

تصویری از یک پیشنهاد شغلی مشکوک در لینکدین که حاوی درب پشتی است

جزئیات فنی

درون این فایل، مهاجم از چندین تاکتیک فریبکارانه برای پنهان کردن فعالیت‌های خود استفاده کرده بود:

  • آدرس‌های مبهم: آدرس سرور راه دور (https://rest-icon-handler.store/icons/77) از تکه‌های مختلفی ساخته شده بود تا از جستجوهای سادهٔ متنی در کد فرار کند. این تکه‌ها شامل protocol = "https"، domain = "store"، token = "77" و subdomain = "rest-icon-handler" بودند.
  • محموله‌های پنهان: در خط ۲۲۵، یک محموله (Payload) قرار داشت که قادر بود هر کدی را که از سرور بازگردانده می‌شد اجرا کند. این کد در میان دیواره‌ای از تست‌های کامنت‌شده پنهان شده بود تا نادیده گرفته شود.
  • اجرای خودکار: فایل package.json شامل یک اسکریپت prepare بود که دستور app:pre را اجرا می‌کرد و این دستور به نوبه خود node app/index.js را فراخوانی می‌نمود. این سازوکار تضمین می‌کرد که درِ پشتی بلافاصله بعد از دستور npm install فعال شود، بدون اینکه کاربر هرگز مجموعه تست‌های واقعی را اجرا کند.

در پشتی در یک پیشنهاد شغلی لینکدین

سرقت هویت

مهندسی اجتماعی در این حمله به‌صورت لایه‌بندی شده اجرا شد. کامیت‌های گیت‌هاب — که در مجموع ۳۹ کامیت بودند — به نام یک مهندس Full-stack واقعی با پروفایل معتبر لینکدین و وب‌سایت شخصی ثبت شده بود. وقتی با این مهندس تماس گرفته شد، او فاش کرد که هرگز برای آن استارتاپ کار نکرده و پیش از این نیز هویتش در گیت‌هاب جعل شده بود.

به همین ترتیب، پروفایل استخدام‌کننده متعلق به یک روزنامه‌نگار هنری شناخته‌شده با پیشینه فرهنگی طولانی بود که هیچ تجربه فنی نداشت. نکته عجیب اینجا بود که وقتی توسعه‌دهنده ادعا کرد پروژه نصب نمی‌شود، این «روزنامه‌نگار» ناگهان تغییر موضع داد و به یک متخصص Node.js تبدیل شد تا کاربر را به نصب سریع کد ترغیب کند.

در پشتی در پیشنهاد شغلی لینکدین

این حادثه نشان‌دهنده یک چرخش بحرانی در بردارهای حمله است: حرکت به سمت «قرض گرفتن هویت». مهاجمان با استفاده از نام‌ها و تاریخچه افراد واقعی، لایه‌ای از اعتبار می‌سازند که می‌تواند حتی مهندسان باسابقه را در شلوغی‌های یک روز کاری فریب دهد.

علاوه بر این، استفاده از یک عامل هوش مصنوعی فقط-خواندنی ثابت کرد که مؤثرتر از بازبینی دستی انسان است. در حالی که درِ پشتی در ظاهر شبیه به «کدهای شلخته یک تازه‌کار» بود، عامل هوش مصنوعی الگوی مخرب را در چند ثانیه شناسایی کرد. این موضوع نشان می‌دهد که حسابرسی امنیتی مبتنی بر هوش مصنوعی برای بررسی کدهای منبع در حال تبدیل شدن به یک ضرورت است.

اگر از شما خواسته شد مخزنی را از طریق یک پلتفرم اجتماعی بررسی کنید، از کلون کردن مستقیم آن روی ماشین اصلی خود اجتناب کنید. پیش از اجرای هرگونه اسکریپت نصب، از یک محیط ایزوله (Sandbox) یا ابزار تحلیل فقط-خواندنی استفاده کنید.

گام بعدی شما

  • هرگز مخازن ناشناس را مستقیماً روی سیستم اصلی خود Clone نکنید.
  • برای بررسی کدهای مشکوک از محیط‌های ایزوله (Sandbox) یا ماشین‌های مجازی استفاده کنید.
  • پیش از اجرای دستورات نصب (مانند npm install)، فایل package.json و اسکریپت‌های prepare یا postinstall را بررسی کنید.

اما تهدیدات زنجیره تأمین تنها به بسته‌های npm محدود نمی‌شود؛ در تحلیل ما درباره‌ی حملات به مخازن PyPI، ابعاد گسترده‌تر این بحران را بررسی کرده‌ایم.

چرا این موضوع مهم است؟

این اتفاق اعتبار سیستم‌های استخدام آنلاین را به شدت خدشه‌دار می‌کند. تکیه بر تجربه و تخصص انسانی در شناسایی بدافزارها دیگر کافی نیست و نیاز به ابزارهای امنیتی خودکار (AI-driven) برای تأیید هر قطعه کد ضروری است.

تأثیر برای ایران

برنامه‌نویسان ایرانی که به‌صورت دورکاری (Remote) با شرکت‌های خارجی همکاری می‌کنند، هدف اصلی این کلاهبرداری‌های تخصصی هستند و باید از محیط‌های ایزوله برای تست‌ها استفاده کنند.

·نگاه ما
تحریریه دات‌هوش

تحلیل ما نشان می‌دهد که مهاجمان از «پارادوکس ناتوانی» استفاده می‌کنند؛ یعنی نوشتن کدهای عمدتاً بدکیفیت تا متخصصان انسانی آن‌ها را به دلیل ناشیانه بودن نادیده بگیرند. این روند نشان می‌دهد که مهندسی اجتماعی از سطح «ایمیل‌های فریبنده» به سطح «شبیه‌سازی محیط‌های کاری» ارتقا یافته است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

موضوع‌ها

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.