پرش به محتوای اصلی
Vue Neshan Mapsراهنمای توسعه‌دهندگان

امنیت وابستگی‌ها

موتور وصله‌شده و محدودیت‌های اعلام‌شدهٔ وابستگی‌های Nuxt را بررسی کنید.

۳ دقیقه مطالعهVue 3 / Nuxt 4
مطالب این صفحهنتیجهمورد NUXT-001 — هشدارهای Critical ابزار Git رفع شدمورد NUXT-002 — هشدار High در braces بدون وصلهٔ رسمیمورد NUXT-003 — هشدار High در node-forge بدون وصلهٔ رسمیبررسی و کار باقی‌مانده

‏بررسی در ۱۳ اکتبر ۲۰۲۶ انجام شده و محدودهٔ آن وابستگی‌های کتابخانه و نمونهٔ مستقل Nuxt است؛ گزارش آزمون نفوذ کامل برنامه نیست.

‏نتیجه#

‏audit کتابخانهٔ اصلی، با احتساب وابستگی‌های توسعه، صفر هشدار دارد. نمونهٔ Nuxt 4.6.1 از ۱۵ گرهٔ وابستگی درگیر، شامل ۱۳ High و ۲ Critical، به ۱۱ High و صفر Critical رسیده است. این تعداد زنجیره‌های وابستگی را هم حساب می‌کند؛ فقط دو هشدار مستقل بالادستی باقی مانده‌اند.

‏Vue و server-renderer به 3.5.44، پاک‌ساز DOMPurify به 3.4.17 و Vitest به 5.0.4 رسیده‌اند. تغییرات سازگار lockfile هم اعمال شده‌اند. موتور MapLibre 6.14.0، نام npm و API کامپوننت‌ها حفظ شده‌اند. ابزار Vue Test Utils روی 2.4.6 می‌ماند تا حداقل نسخهٔ Node اعلام‌شده برای توسعه حفظ شود.

‏مورد NUXT-001 — هشدارهای Critical ابزار Git رفع شد#

‏محل اصلاح: بخش overrides در package.json نمونه. وابستگی simple-git در Devtools 3.4.2 از 3.36.0 به 4.0.2 رسیده و argv-parser 2.0.1 نصب می‌شود. محافظ‌های امنیتی نسخهٔ رسمی فعال می‌مانند. تست Nuxt نسخهٔ نصب‌شده و APIهای فقط‌خواندنی revparse/status مورد استفادهٔ Devtools را بررسی می‌کند. گزینهٔ ناامن Git فعال نشده است.

‏اثر هشدار: پردازش تنظیمات یا گزینه‌های ناامن Git در ابزار آسیب‌پذیر می‌تواند موجب اجرای فرمان در فرایند توسعه‌دهنده شود. ریلیز اصلاحی رسمی

‏قانون overrides فقط در ریشهٔ برنامهٔ مصرف‌کننده اعمال می‌شود؛ نصب کتابخانهٔ نقشه به‌تنهایی وابستگی‌های Nuxt برنامهٔ شما را تغییر نمی‌دهد. نمونهٔ آزمایش‌شده این تنظیم را در package.json خودش دارد:

json
{"overrides":{"@nuxt/devtools":{"simple-git":"4.0.2"}}}

‏با آپدیت بعدی Nuxt، نیاز به این تنظیم را دوباره بررسی کنید. Devtools در نمونه همچنان پیش‌فرض خاموش است؛ وابستگی وصله‌شده نصب و audit می‌شود.

‏مورد NUXT-002 — هشدار High در braces بدون وصلهٔ رسمی#

‏محل: lockfile نمونه، زنجیرهٔ Nuxt ← Nitro ← globby/fast-glob ← micromatch ← braces 3.0.3. ورودی glob نامطمئن با عمق زیاد می‌تواند پشتهٔ پردازش را تمام کند. طبق هشدار رسمی و رجیستری، در زمان بررسی نسخهٔ اصلاح‌شده منتشر نشده است. پروژه و تنظیمات glob را از منابع مطمئن بسازید. جایگزین ناسازگار یا پنهان‌کردن هشدار اعمال نشده است.

‏مورد NUXT-003 — هشدار High در node-forge بدون وصلهٔ رسمی#

‏محل: lockfile نمونه، زنجیرهٔ Nuxt ← Nitro ← listhen ← node-forge 1.4.0. هشدار به بررسی امضای RSA مربوط است؛ نصب این وابستگی به‌تنهایی اثبات نمی‌کند نمونهٔ نقشه قابل سوءاستفاده است. هشدار رسمی و نسخهٔ فعلی رجیستری هنوز وصله ندارند. برای بررسی امضا یا گواهی اختصاصی به این وابستگی تکیه نکنید و سرور توسعه را به‌عنوان سرور محصول منتشر نکنید.

‏بررسی و کار باقی‌مانده#

‏تست پکیج نصب‌شدهٔ Nuxt، کل درخت مصرف‌کننده را audit می‌کند؛ هر Critical یا هشدار جدید خارج از همین دو مورد مشخص باعث شکست بررسی می‌شود. تعداد باقی‌مانده همچنان نمایش داده می‌شود. تست ساخت و SSR، جای audit پاک را نمی‌گیرد.

‏audit ریشه و پوشهٔ examples/nuxt4 را با رجیستری رسمی دوباره اجرا کنید؛ نتیجه با گذر زمان تغییر می‌کند. اصلاح خودکار بدون force امتحان شد و دو هشدار باقی ماندند. پیشنهاد force شامل عقب‌بردن Nuxt و تغییر مبنای آزمایش‌شده بود و اعمال نشد. کار باقی‌مانده، پذیرش وصله‌های رسمی این دو وابستگی پس از انتشار است.

کتابخانهٔ مستقل جامعهٔ توسعه‌دهندگان؛ سرویس و انتساب نقشه متعلق به نشان و OpenStreetMap است. · Sajad Janat · MIT