برنامه نویسی

بسته npm Lottie Player به دلیل سرقت کیف پول کریپتو به خطر افتاده است

Summarize this content to 400 words in Persian Lang
در 31 اکتبر 2024، داستان دیگری در مورد مصالحه بسته و ربودن ارزهای دیجیتال برای یک بسته محبوب npm آشکار شد.

سازش بسته TL;DR برای Lottie Player npm

کتابخانه محبوب npm @lottiefiles/lottie-player حاوی کدهای مخربی است که اتصال به کیف پول های رمزنگاری شده کاربران را درخواست می کند.

کد مخرب به نسخه‌های npm 2.0.5، 2.0.6 و 2.0.7 پس از در معرض خطر قرار گرفتن رمز حساب npm رجیستری که برای انتشار بسته‌های npm استفاده می‌شد، اضافه شد. این نسخه ها از npm خارج شده اند و 2.0.8 سپس از کد امن موجود در مخزن کد GitHub پروژه با محتوایی مشابه با 2.0.4 منتشر شد.

محدوده نسخه ایمن و آسیب پذیر بسته npm Lottie Player

بسته به توانایی شما در پاسخگویی، هر دو ارتقاء و کاهش به شما امکان می دهند سه نسخه مخرب شناخته شده منتشر شده را اصلاح کنید:

ایمن شناخته شده است: @lottiefiles/lottie-player <= 2.0.4

شناخته شده به عنوان آسیب پذیر: @lottiefiles/lottie-player@2.0.5, @lottiefiles/lottie-player@2.0.6, and @lottiefiles/lottie-player@2.0.7

ایمن شناخته شده است: @lottiefiles/lottie-player@2.0.8

چگونه با استفاده از Snyk متوجه شویم که آیا آسیب پذیر هستید یا خیر

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

می‌توانید از Snyk به روش‌های مختلف استفاده کنید تا متوجه شوید که آیا نسخه‌های مخرب را نصب کرده‌اید یا خیر.

رابط کاربری Snyk Dependency Reports

به آیتم منوی «وابستگی‌ها» برای گروه یا سازمان خود بروید، فیلترهایی را که می‌خواهید جستجو را محدود کنید، اعمال کنید و سپس کادر جستجوی «وابستگی‌ها» را باز کنید تا «فایل‌های lottie» را برای جستجوی متن آزاد تایپ کنید.

برای مثالی که نشان می‌دهد هیچ نتیجه‌ای یافت نشد، زیر را ببینید، و از این رو این پروژه‌هایی که من در زیر آنها جستجو می‌کنم اصلاً از این وابستگی استفاده نمی‌کنند:

اگر متن را فقط به “lottie” تغییر دهم، برخی وابستگی های دیگر را با آن متن در نام آنها پیدا می کنم:

پس از انتخاب، می‌توانم تأیید کنم که کدام پروژه‌ها مورد استفاده قرار می‌گیرند، کدام آسیب‌پذیری برای آنها اعمال می‌شود، مسائل مربوط به مجوزها و سایر اطلاعات امنیتی زنجیره تأمین:

Snyk CLI

اگر از Snyk CLI در گردش‌های کاری توسعه یا فرآیندهای ساخت CI خود استفاده می‌کنید، با اسکن Snyk متوجه می‌شوید که منجر به یک اطلاعات بسته آسیب‌پذیر می‌شود، مانند:

$ snyk test

Testing /Users/lirantal/projects/repos/your-project-name…

Tested XXX dependencies for known issues, found 1 issue, YYY vulnerable paths.

Issues with no direct upgrade or patch:
✗ Embedded Malicious Code [Critical Severity][https://security.snyk.io/vuln/SNYK-JS-LOTTIEFILESLOTTIEPLAYER-8310516] in @lottiefiles/lottie-player@2.0.5
introduced by [path to the package] No upgrade or patch available (Upgrade to versions <2.0.4 || >2.0.8 recommended)

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با @lottiefiles/lottie-player چه اتفاقی می‌افتد

در یک حمله مشابه که کتابخانه Polyfill را تحت تأثیر قرار داد تا کاربران را از طریق CDN در ژوئن 2024 به خطر بیندازد و به اوایل ژانویه همان سال ردیابی شد، این حادثه به دنبال همان تلاش برای سرقت ارزهای دیجیتال از طریق سرقت مالی کیف پول کریپتو رخ داد.

کاربران گزارش شده در lottie-player مخزن کد که با استفاده از کتابخانه از طریق CDN از منابعی مانند https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js یا https://cdn.jsdelivr.net/npm/@lottiefiles/lottie-player@2.0.5/dist/lottie-player.min.js, آنها یک صفحه ورود به سیستم کیف پول کریپتو مانند این را از موضوع GitHub مشاهده می کنند:

بسیاری از کاربران با استفاده از @lottiefiles/lottie-player وابستگی از طریق CDN های شخص ثالث بدون پین کردن صحیح نسخه وابستگی به طور خودکار نسخه در معرض خطر به عنوان آخرین نسخه ارائه می شود. با انتشار یک نسخه جدید با کد منبع شناخته شده ایمن (در اصل، بازگرداندن کد به نسخه 2.0.4)، فرض می شود که آن کاربران نیز به طور خودکار این اصلاح را دریافت کرده اند.

با این حال، با توجه به تعداد پروژه‌های وابسته به مولفه بازیکن لوتی و تعداد نسخه‌هایی که قبلاً نسخه‌های مخرب دانلود شده بودند، تأثیر بسیار زیادی به نظر می‌رسد:

بسته های 73 npm به بسته بستگی دارند
36762 بارگیری برای نسخه 2.0.4 شناخته شده به ایمن در 7 روز گذشته ثبت شده است.
~890 بارگیری برای اصلاح 2.0.8 که اخیراً منتشر شده در 12 ساعت گذشته ثبت شده است.

چگونه نگرانی های امنیتی زنجیره تامین مرتبط با CDN را کاهش دهیم؟

برای جلوگیری از حوادث امنیتی آینده مانند به خطر افتادن مؤلفه وب بازیکن لوتی یا وابستگی مخرب polyfill، توصیه می شود برخی از بهترین شیوه های امنیتی مانند:

برای جلوگیری از تزریق اسکریپت ها، برچسب های تصویر و سایر اشیاء به برنامه وب شما، یک خط مشی امنیتی محتوا را اتخاذ کنید.
همیشه وابستگی‌های خود را پین کنید، چه از طریق دارایی‌های CDN درون شبکه یا از طریق یک مدیر بسته.
توصیه‌های کاهش‌دهنده تیم رسمی Lottie Player را از طریق نظرات آنها در اینجا و سایر کانال‌های رسمی دنبال کنید

در حال تایید برنامه های شما

اگر می‌خواهید برنامه‌ها و پروژه‌های خود را آزمایش کنید، اما مشتری Snyk نیستید، می‌توانید برای آزمایش رایگان ثبت نام کنید تا آزمایش‌های فوق را انجام دهید. با آزمایش، می‌توانید وابستگی‌های منبع باز و تصاویر کانتینر را در CLI یا SCM خود اسکن کنید تا مشخص کنید که آیا از یکی از نسخه‌های آسیب‌پذیر lottie-player استفاده می‌کنید یا خیر، و به طور بالقوه آسیب‌پذیری‌های امنیتی دیگری را که ممکن است در پروژه‌های خود داشته باشید کشف کنید. .

در 31 اکتبر 2024، داستان دیگری در مورد مصالحه بسته و ربودن ارزهای دیجیتال برای یک بسته محبوب npm آشکار شد.

سازش بسته TL;DR برای Lottie Player npm

کتابخانه محبوب npm @lottiefiles/lottie-player حاوی کدهای مخربی است که اتصال به کیف پول های رمزنگاری شده کاربران را درخواست می کند.

کد مخرب به نسخه‌های npm 2.0.5، 2.0.6 و 2.0.7 پس از در معرض خطر قرار گرفتن رمز حساب npm رجیستری که برای انتشار بسته‌های npm استفاده می‌شد، اضافه شد. این نسخه ها از npm خارج شده اند و 2.0.8 سپس از کد امن موجود در مخزن کد GitHub پروژه با محتوایی مشابه با 2.0.4 منتشر شد.

محدوده نسخه ایمن و آسیب پذیر بسته npm Lottie Player

بسته به توانایی شما در پاسخگویی، هر دو ارتقاء و کاهش به شما امکان می دهند سه نسخه مخرب شناخته شده منتشر شده را اصلاح کنید:

  • ایمن شناخته شده است: @lottiefiles/lottie-player <= 2.0.4
  • شناخته شده به عنوان آسیب پذیر: @lottiefiles/lottie-player@2.0.5, @lottiefiles/lottie-player@2.0.6, and @lottiefiles/lottie-player@2.0.7
  • ایمن شناخته شده است: @lottiefiles/lottie-player@2.0.8

چگونه با استفاده از Snyk متوجه شویم که آیا آسیب پذیر هستید یا خیر

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

می‌توانید از Snyk به روش‌های مختلف استفاده کنید تا متوجه شوید که آیا نسخه‌های مخرب را نصب کرده‌اید یا خیر.

رابط کاربری Snyk Dependency Reports

به آیتم منوی «وابستگی‌ها» برای گروه یا سازمان خود بروید، فیلترهایی را که می‌خواهید جستجو را محدود کنید، اعمال کنید و سپس کادر جستجوی «وابستگی‌ها» را باز کنید تا «فایل‌های lottie» را برای جستجوی متن آزاد تایپ کنید.

برای مثالی که نشان می‌دهد هیچ نتیجه‌ای یافت نشد، زیر را ببینید، و از این رو این پروژه‌هایی که من در زیر آنها جستجو می‌کنم اصلاً از این وابستگی استفاده نمی‌کنند:

https%3A%2F%2Fdev to
اگر متن را فقط به “lottie” تغییر دهم، برخی وابستگی های دیگر را با آن متن در نام آنها پیدا می کنم:

https%3A%2F%2Fdev to
پس از انتخاب، می‌توانم تأیید کنم که کدام پروژه‌ها مورد استفاده قرار می‌گیرند، کدام آسیب‌پذیری برای آنها اعمال می‌شود، مسائل مربوط به مجوزها و سایر اطلاعات امنیتی زنجیره تأمین:

https%3A%2F%2Fdev to uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fihgfzra168m4wz51301p

Snyk CLI

اگر از Snyk CLI در گردش‌های کاری توسعه یا فرآیندهای ساخت CI خود استفاده می‌کنید، با اسکن Snyk متوجه می‌شوید که منجر به یک اطلاعات بسته آسیب‌پذیر می‌شود، مانند:

$ snyk test

Testing /Users/lirantal/projects/repos/your-project-name...

Tested XXX dependencies for known issues, found 1 issue, YYY vulnerable paths.

Issues with no direct upgrade or patch:
  ✗ Embedded Malicious Code [Critical Severity][https://security.snyk.io/vuln/SNYK-JS-LOTTIEFILESLOTTIEPLAYER-8310516] in @lottiefiles/lottie-player@2.0.5
    introduced by [path to the package]
    No upgrade or patch available (Upgrade to versions <2.0.4 || >2.0.8 recommended)

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با @lottiefiles/lottie-player چه اتفاقی می‌افتد

در یک حمله مشابه که کتابخانه Polyfill را تحت تأثیر قرار داد تا کاربران را از طریق CDN در ژوئن 2024 به خطر بیندازد و به اوایل ژانویه همان سال ردیابی شد، این حادثه به دنبال همان تلاش برای سرقت ارزهای دیجیتال از طریق سرقت مالی کیف پول کریپتو رخ داد.

کاربران گزارش شده در lottie-player مخزن کد که با استفاده از کتابخانه از طریق CDN از منابعی مانند https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js یا https://cdn.jsdelivr.net/npm/@lottiefiles/lottie-player@2.0.5/dist/lottie-player.min.js, آنها یک صفحه ورود به سیستم کیف پول کریپتو مانند این را از موضوع GitHub مشاهده می کنند:

https%3A%2F%2Fdev to
بسیاری از کاربران با استفاده از @lottiefiles/lottie-player وابستگی از طریق CDN های شخص ثالث بدون پین کردن صحیح نسخه وابستگی به طور خودکار نسخه در معرض خطر به عنوان آخرین نسخه ارائه می شود. با انتشار یک نسخه جدید با کد منبع شناخته شده ایمن (در اصل، بازگرداندن کد به نسخه 2.0.4)، فرض می شود که آن کاربران نیز به طور خودکار این اصلاح را دریافت کرده اند.

با این حال، با توجه به تعداد پروژه‌های وابسته به مولفه بازیکن لوتی و تعداد نسخه‌هایی که قبلاً نسخه‌های مخرب دانلود شده بودند، تأثیر بسیار زیادی به نظر می‌رسد:

  • بسته های 73 npm به بسته بستگی دارند
  • 36762 بارگیری برای نسخه 2.0.4 شناخته شده به ایمن در 7 روز گذشته ثبت شده است.
  • ~890 بارگیری برای اصلاح 2.0.8 که اخیراً منتشر شده در 12 ساعت گذشته ثبت شده است.

چگونه نگرانی های امنیتی زنجیره تامین مرتبط با CDN را کاهش دهیم؟

برای جلوگیری از حوادث امنیتی آینده مانند به خطر افتادن مؤلفه وب بازیکن لوتی یا وابستگی مخرب polyfill، توصیه می شود برخی از بهترین شیوه های امنیتی مانند:

  • برای جلوگیری از تزریق اسکریپت ها، برچسب های تصویر و سایر اشیاء به برنامه وب شما، یک خط مشی امنیتی محتوا را اتخاذ کنید.
  • همیشه وابستگی‌های خود را پین کنید، چه از طریق دارایی‌های CDN درون شبکه یا از طریق یک مدیر بسته.
  • توصیه‌های کاهش‌دهنده تیم رسمی Lottie Player را از طریق نظرات آنها در اینجا و سایر کانال‌های رسمی دنبال کنید

در حال تایید برنامه های شما

اگر می‌خواهید برنامه‌ها و پروژه‌های خود را آزمایش کنید، اما مشتری Snyk نیستید، می‌توانید برای آزمایش رایگان ثبت نام کنید تا آزمایش‌های فوق را انجام دهید. با آزمایش، می‌توانید وابستگی‌های منبع باز و تصاویر کانتینر را در CLI یا SCM خود اسکن کنید تا مشخص کنید که آیا از یکی از نسخه‌های آسیب‌پذیر lottie-player استفاده می‌کنید یا خیر، و به طور بالقوه آسیب‌پذیری‌های امنیتی دیگری را که ممکن است در پروژه‌های خود داشته باشید کشف کنید. .

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا