تقریباً نصف کدهایی که هوش مصنوعی مینویسه ایراد امنیتی دارن! حتی مدل‌های معروف LLM هم اوضاع‌شون خرابه

خب بیاید یه نگاهی بندازیم به قصهٔ کدهایی که هوش مصنوعی مینویسه. جدیداً یه گزارش جالب اومده که میگه تقریباً ۴۵ درصد (!) از کدهایی که توسط AI ساخته میشن، ایرادهای امنیتی دارن؛ در صورتی که ظاهراً خیلی شیک و آماده برای اجرا به نظر میان. یعنی چی؟ یعنی شاید یه برنامه‌نویس یا حتی یه شرکت بزرگ بشینه به کدهای AI-generated اعتماد کنه، غافل از اینکه نصف بیشترشون درها رو برای هکرها باز میذارن!

این تحقیق رو شرکت Veracode انجام داده و درواقع کارش بررسی امنیت نرم‌افزاره. اونا اومدن بیش از صد تا مدل هوش مصنوعی بزرگ – که بهشون LLM میگن (یعنی Large Language Models؛ مدل‌های زبانی بزرگ که بلدن خودشون متن یا کد تولید کنن) – رو، روی ۸۰ تا مسئله مختلف برنامه‌نویسی تست کردن. جالبیش اینه که فرق چندانی بین مدل‌های جدید و قدیمی‌تر هم تو امنیت پیدا نکردن! یعنی فکر نکنید مثلاً اگه شما ChatGPT خیلی پیشرفته رو بردارید، همه چی امن میشه.

بدترین وضعیت رو تو این داستان، زبان برنامه‌نویسی Java داره (جاوا همون زبونی هست که تو ساخت اپلیکیشن موبایل و بک‌اند وب کاربرد داره). حدود ۷۰ درصد کدهای AI-generated تو جاوا، ایراد امنیتی داشتن! البته بقیه زبون‌ها مثل Python (پایتون: خیلی محبوب برای هوش مصنوعی)، C# و JavaScript هم اوضاع‌شون چندان تعریفی نداره و ۳۸ تا ۴۵ درصدشون گاف دارن.

یه اصطلاح باحال هم تو این گزارش هست به اسم vibe coding. یعنی چی؟ یعنی موقعی که برنامه‌نویس‌ها میان به هوش مصنوعی فقط یه سری دستورات کلی میدن و دیگه انتظار دارن خودش همه چی رو هندل کنه؛ حتی امنیت رو! بدون اینکه نیازهای امنیتی رو واضح براش تعریف کنن. مثل وقتی فقط حست بهت میگه این کار درسته! ولی خب، این vibe coding قشنگ داره امنیت رو به خطر میندازه.

طبق تحقیقات Veracode، مدل‌های LLM تو ۴۵ درصد موارد اصلاً اصول امنیتی رو رعایت نکردن و مثلاً در برابر حملات XSS (cross-site scripting یعنی یه نوع حمله که هکر می‌تونه اطلاعات سایت رو دستکاری کنه) حدود ۸۶ درصدشون شکست خوردن، یا تو مقابله با تزریق لاگ (log injection: هکر میاد اطلاعات تقلبی وارد لاگ سیستم میکنه تا بقیه رو گول بزنه) تقریباً ۸۸ درصد کدها آسیب‌پذیر بودن!

حتی CTO شرکت گفته: الان مدل‌های زبانی خیلی بهتر کد میزنن – یعنی از لحاظ نحوی و فنی درست مینویسن – اما از لحاظ امنیتی هیچ پیشرفتی نکردن! این یعنی یه گاف بزرگ واسه شرکت‌ها و تیم‌هایی که دارن شدیداً به هوش مصنوعی امید می‌بندن. مخصوصاً حالا که مثلاً گوگل و مایکروسافت میگن تقریباً یک سوم کدهای جدیدشون رو هوش مصنوعی نوشته!

یه نکته جالب دیگه اینکه چون AI حتی می‌تونه سرعت حمله رو بیشتر کنه یا راه‌های جدیدتر برای هک شدن پیدا کنه، آسیب‌پذیری‌ها دیگه به شدت بیشتر میشن.

حالا راه‌حل چیه؟ Veracode پیشنهاد داده که حتماً چک‌های امنیتی رو تو روند کد نویسی با AI فعال کنید (security checks؛ همین کارهایی که سوراخ‌های امنیتی رو شناسایی میکنن)، و حتی برای آموزش برنامه‌نویس‌ها راهنمایی‌های رفع مشکل به کمک هوش مصنوعی بذارید. علاوه بر این، پیشنهاد داده که از فایروال (همون دیوار آتیش برای محافظت از سیستم) و ابزارهایی که ایرادات رو زودتر پیدا می‌کنن، استفاده بشه.

در نهایت، CTO به یه نکته مهم اشاره کرده: “دستیارهای کدنویسی AI و این فرآیندهای خودکار چندوقت دیگه آینده ساخت نرم‌افزار میشن… ولی اگه امنیت رو جدی نگیرم، یه بدهی امنیتی بزرگ جمع میشه که فردا ممکنه کار دستمون بده!”

اگه دنبال ابزارهای هوش مصنوعی برای نوشتن متن هستی، یا دوست داری لپ‌تاپت رو برای کدنویسی ارتقا بدی، بهتره حتماً قبلش درباره امنیتشون هم تحقیق کنی؛ چون همین چند روز پیش اومده بودن حتی عامل هوش مصنوعی کدنویسی آمازون رو هک کنن! خلاصه: باهوش باش، امنیت یادت نره 😉

منبع: +