مانیتورینگ خودکار آسیبپذیریهای لاراول
خلاصهٔ کاملتر
به نوشتهٔ freek.dev، تازگی یه آسیبپذیری بحرانی برای Livewire v3 اعلام شد که Stephen Rees-Carter تو سایت Securing Laravel دربارش نوشته بود. این باگ با شناسهٔ CVE-2025-54068 به مهاجم اجازه میده بدون احراز هویت و بدون هیچ تعاملی از سمت کاربر، روی سرور کد اجرا کنه؛ کافیه یه کامپوننت به شکل خاصی mount و پیکربندی شده باشه. همهٔ نسخههای Livewire v3 تا 3.6.3 درگیرن.
نگرانی اصلی نویسنده اینه که چون وصله متنبازه، مهاجمها میتونن با مهندسی معکوس خود وصله راه سوءاستفاده رو پیدا کنن. کلی اپ production همین الان روی نسخهٔ آسیبپذیر بالاست و توسعهدهندهش خبر نداره. چیزی که مقاله پیشنهاد میده مانیتورینگ خودکاره: پکیج spatie/laravel-health بههمراه افزونهٔ spatie/security-advisories-health-check.
این افزونه دادهٔ آسیبپذیریها رو از دیتابیس Security Advisories پروژهٔ FriendsOfPHP میگیره، یعنی همون منبعی که composer audit هم ازش استفاده میکنه. کافیه چکها رو تو یه سرویسپروایدر ثبت کنی:
Health::checks([
SecurityAdvisoriesCheck::new(),
DebugModeCheck::new(),
DatabaseCheck::new(),
]);بعدش هم دستور اجرای چکها رو زمانبندی میکنی تا مرتب اجرا بشه:
$schedule->command(RunHealthChecksCommand::class)->everyMinute();نتیجهٔ چکها روی یه اندپوینت JSON امن داخل خود اپ منتشر میشه؛ سرویس Oh Dear دورهای اون اندپوینت رو میخونه و تا چیزی خراب بشه از راه ایمیل یا Slack و Discord بهت خبر میده.
نویسنده میگه خودش با همین ترکیب، لحظهای که آسیبپذیری Livewire منتشر شد ایمیل هشدار گرفت. به گفتهٔ اون اضافهکردن composer audit به ورکفلوی GitHub Actions هم کمک میکنه مشکل زودتر و تو مرحلهٔ توسعه گیر بیفته. نکتهٔ مهمش اینه که Dependabot ریپازیتوری رو اسکن میکنه ولی Laravel Health چیزی که واقعاً deploy شده رو چک میکنه؛ پس وصلهٔ mergeشدهی deployنشده هم لو میره.
نکات کلیدی:
- CVE-2025-54068 تو Livewire v3 تا نسخهٔ 3.6.3 اجازهٔ اجرای کد از راه دور بدون احراز هویت رو میده
- پکیج spatie/laravel-health بهعلاوهٔ spatie/security-advisories-health-check وابستگیها رو با دیتابیس FriendsOfPHP چک میکنه
- نتیجهٔ چکها روی یه اندپوینت JSON امن منتشر میشه و Oh Dear ازش برای ارسال هشدار استفاده میکنه
- composer audit تو GitHub Actions مشکل رو زودتر و تو مرحلهٔ توسعه پیدا میکنه
- Dependabot ریپو رو میبینه، Laravel Health چیزی که واقعاً روی production نصبه




