هوش مصنوعی ۳۰۰ آسیب‌پذیری افزونه وردپرس را در ۷۲ ساعت پیدا کرد

هوش مصنوعی باگ‌ها را در چند ثانیه پیدا می‌کند. این موضوع همه چیز را برای توسعه‌دهندگان تغییر می‌دهد.

یک اسکن امنیتی اخیر، بیش از ۳۰۰ آسیب‌پذیری بحرانی روز صفر (zero-day) را در افزونه‌های وردپرس تنها در ۷۲ ساعت شناسایی کرد. محققان این پدیده را «vibe coding» می‌نامند. این اتفاق زمانی رخ می‌دهد که توسعه‌دهندگان کدهای تولید شده توسط هوش مصنوعی را بدون بازبینی (auditing) منتشر می‌کنند.

یک آژانس امنیتی، ۱۰۰ مشکل امنیتی را در تنها یک افزونه تولید شده توسط هوش مصنوعی پیدا کرد.

هوش مصنوعی در هر دو طرف بازی نقش دارد. از یک سو کدها را سریع می‌نویسد، اما اغلب مراحل امنیتی مانند escaping و بررسی مجوزها (permission checks) را نادیده می‌گیرد. از سوی دیگر، مهاجمان از هوش مصنوعی استفاده می‌کنند تا همان حفره‌ها را فوراً پیدا کنند.

توری‌های ایمنی قدیمی از بین رفته‌اند. پنهان‌کاری (Obscurity) و زمان دیگر از کد شما محافظت نمی‌کنند. داده‌ها نشان می‌دهند که بهره‌برداری گسترده (mass exploitation) حدود پنج ساعت پس از عمومی شدن یک باگ رخ می‌دهد. این زمان برای واکنش نشان دادن کافی نیست.

من این درس را به سختی آموختم. من یک افزونه چت‌بات هوش مصنوعی ساخته بودم. یک بررسی امنیتی، ۳۵ باگ در کد من پیدا کرد. بدترین آن‌ها یک HTML injection بود. من به خروجی هوش مصنوعی اعتماد کردم. فکر می‌کردم چون هوش مصنوعی آن را نوشته، پس امن است.

این‌طور نبود. خروجی هوش مصنوعی می‌تواند حاوی محتوای مخرب از سوی کاربران یا وب‌سایت‌های خارجی باشد. اگر با خروجی هوش مصنوعی مانند یک چیز امن برخورد کنید، در واقع راه نفوذ ایجاد کرده‌اید.

من گردش کارم را تغییر دادم. دیگر تصور نمی‌کنم که «اجرا شدن کد» به معنای «امن بودن آن» باشد. اکنون هر هندلر (handler) نوشته شده توسط هوش مصنوعی را در سه حوزه به صورت دستی بازبینی می‌کنم:

• ورودی (Input): نحوه ورود داده‌ها به سیستم. • خروجی (Output): نحوه خروج داده‌ها از سیستم. من با پاسخ‌های هوش مصنوعی مانند ورودی‌های غیرقابل اعتماد برخورد می‌کنم. از توابعی مانند esc_html و wp_kses استفاده می‌کنم. • مجوزها (Permissions): من قابلیت‌های کاربر (user capabilities) و nonces را در هر نقطه ورود بررسی می‌کنم.

مشکل اصلی فقط کد نیست، بلکه زمان پاسخگویی است. بسیاری از توسعه‌دهندگان پیش از عمومی شدن یک باگ، وصله‌ای (patch) منتشر نمی‌کنند. بسیاری از افزونه‌ها اصلاً هیچ راه حلی ندارند.

اگر یک توسعه‌دهنده مستقل (solo developer) هستید، نمی‌توانید فقط با دقت کد بنویسید و به بهترین نتیجه امیدوار باشید. شما به راهی نیاز دارید تا مردم بتوانند قبل از عمومی شدن باگ‌ها، آن‌ها را به شما اطلاع دهند.

تا اواخر سال ۲۰۲۶، قوانین اتحادیه اروپا مستلزم داشتن برنامه‌های افشای آسیب‌پذیری (vulnerability disclosure programs) خواهد بود. برای نویسندگان مستقل، این کار می‌تواند ساده باشد. یک راه ارتباطی امنیتی به فایل readme خود اضافه کنید. به مردم یک مکان خصوصی برای ارسال گزارش‌ها بدهید.

منتظر یک اکسپلویت عمومی نمانید. سیستم‌هایی بسازید که باگ‌ها را قبل از شروع تایمر پنج ساعته شناسایی کنند.

منبع: https://dev.to/rapls/ai-found-300-wordpress-plugin-zero-days-in-72-hours-i-build-plugins-heres-what-changed-for-me-43na

انجمن یادگیری اختیاری: https://t.me/GyaanSetuAi