کدهای ناامن LLM بدون دستورالعمل امنیتی

آخرین تحقیقات Backslash Security روند نگران‌کننده‌ای را نشان داده است: مدل‌های زبانی بزرگ (LLM) مانند GPT-4.1، همراه با سایر مدل‌های پرکاربرد، به‌طور پیش‌فرض کدهای ناامن تولید می‌کنند. این بدان معناست که بدون دستورالعمل‌ها یا رهنمودهای خاصی که بر امنیت تمرکز دارند، کدهای تولید شده توسط این سیستم‌های هوش مصنوعی اغلب در برابر ضعف‌ها و آسیب‌پذیری‌های رایج آسیب‌پذیر هستند. با این حال، این تحقیق همچنین نشان می‌دهد که امنیت کدهای تولید شده را می‌توان با ارائه راهنمایی‌های امنیتی بیشتر یا اجرای حکمرانی مبتنی بر قوانین به طور قابل توجهی بهبود بخشید.

برای بررسی بیشتر این موضوع، Backslash Security از راه‌اندازی سرور Model Context Protocol (MCP) به همراه قوانین و افزونه‌هایی که برای Agentic Integrated Development Environments (IDEs) طراحی شده‌اند، خبر داده است. هدف این ابزارها، رسیدگی به آسیب‌پذیری‌های امنیتی شناسایی شده در کدهای تولید شده توسط LLM و ارائه ابزارهایی به توسعه‌دهندگان است تا برنامه‌های کاربردی امن‌تری ایجاد کنند.

LLMها و تولید کد ناامن: سناریوی پیش‌فرض

Backslash Security مجموعه‌ای از آزمایش‌ها را روی هفت نسخه مختلف از LLMهای محبوب، از جمله مدل‌های GPT OpenAI، Claude Anthropic و Gemini Google انجام داد. هدف، ارزیابی این بود که چگونه تکنیک‌های مختلف تحریک، بر توانایی مدل‌ها در تولید کد امن تأثیر می‌گذارند. امنیت خروجی کد بر اساس مقاومت آن در برابر ده مورد استفاده از Common Weakness Enumeration (CWE) ارزیابی شد، که طیف وسیعی از آسیب‌پذیری‌های نرم‌افزاری رایج را نشان می‌دهند.

نتایج این آزمایش‌ها به طور مداوم نشان داد که امنیت کدهای تولید شده با تکنیک‌های تحریک پیچیده‌تر بهبود می‌یابد. با این حال، مضمون اصلی این بود که همه LLMهای آزمایش شده، به طور کلی هنگام رها شدن به حال خود، کدهای ناامن تولید می‌کنند. این نشان می‌دهد که این مدل‌ها، در پیکربندی‌های پیش‌فرض خود، امنیتی را در اولویت قرار نمی‌دهند و اغلب در رسیدگی به ضعف‌های کدنویسی رایج شکست می‌خورند.

اعلان‌های ساده‌لوحانه: دستورالعملی برای آسیب‌پذیری

هنگامی که با اعلان‌های ساده و “ساده‌لوحانه” که به طور صریح به ملاحظات امنیتی اشاره نمی‌کردند، ارائه شد، همه LLMهای آزمایش شده کدهای ناامنی تولید کردند که حداقل در برابر چهار مورد از ده CWE رایج آسیب‌پذیر بودند. این امر، فقدان ذاتی آگاهی امنیتی در این مدل‌ها را هنگام کار بدون راهنمایی خاص برجسته می‌کند.

تأثیر اعلان‌های متمرکز بر امنیت

اعلان‌هایی که به طور کلی نیاز به امنیت را مشخص می‌کردند، منجر به نتایج امن‌تری شدند، که نشان می‌دهد LLMها قادر به تولید کد امن‌تری هستند، زمانی که به طور صریح به انجام این کار دستور داده شود. علاوه بر این، اعلان‌هایی که کد مطابق با بهترین روش‌های Open Web Application Security Project (OWASP) را درخواست می‌کردند، نتایج بهتری به دست آوردند. OWASP یک بنیاد غیرانتفاعی است که برای بهبود امنیت نرم‌افزار تلاش می‌کند. با این حال، حتی با این اعلان‌های پیچیده‌تر، برخی از آسیب‌پذیری‌های کد در پنج مورد از هفت LLM آزمایش شده باقی ماند، که چالش‌های تولید مداوم کد امن با LLMها را برجسته می‌کند.

اعلان‌های مبتنی بر قوانین: مسیری به سوی کد امن

مؤثرترین رویکرد برای تولید کد امن شامل اعلان‌های مرتبط با قوانینی بود که توسط Backslash برای رسیدگی به CWEهای خاص تعیین شده بودند. این اعلان‌های مبتنی بر قوانین منجر به کدی شد که امن بود و در برابر CWEهای آزمایش شده آسیب‌پذیر نبود. این نشان می‌دهد که ارائه راهنمایی‌های خاص و هدفمند به LLMها برای اطمینان از امنیت کدهای تولید شده بسیار مهم است.

تغییرات عملکرد در میان LLMها

به طور کلی، GPT-4o OpenAI کمترین عملکرد را در بین همه اعلان‌ها نشان داد و هنگام استفاده از اعلان‌های “ساده‌لوحانه” تنها 1 مورد از 10 نتیجه کد امن را به دست آورد. حتی زمانی که از آن خواسته شد کد امن تولید کند، باز هم خروجی‌های ناامنی تولید کرد که در برابر هشت مورد از ده مشکل آسیب‌پذیر بودند. GPT-4.1 با اعلان‌های ساده‌لوحانه عملکرد بهتری نداشت و امتیاز 1.5 از 10 را کسب کرد.

در مقابل، Claude 3.7 Sonnet به عنوان بهترین عملکرد در بین ابزارهای GenAI آزمایش شده ظاهر شد. این ابزار با استفاده از اعلان‌های ساده‌لوحانه امتیاز 6 از 10 و هنگام استفاده از اعلان‌های متمرکز بر امنیت، امتیاز کامل 10 از 10 را کسب کرد. این نشان می‌دهد که برخی از LLMها حتی در غیاب دستورالعمل‌های صریح، برای رسیدگی به ملاحظات امنیتی مجهزتر هستند.

راه‌حل‌های Backslash Security برای کدنویسی Vibe ایمن

برای رسیدگی به مشکلاتی که با آزمایش تحریک LLM خود آشکار کرده است، Backslash Security چندین ویژگی جدید را معرفی می‌کند که برای فعال کردن کدنویسی vibe ایمن طراحی شده‌اند. کدنویسی Vibe به عمل تولید کد با استفاده از ابزارهای هوش مصنوعی مانند LLMها اشاره دارد.

قوانین و سیاست‌های هوش مصنوعی Backslash

قوانین و سیاست‌های هوش مصنوعی Backslash قوانین قابل خواندن توسط ماشین را ارائه می‌کنند که می‌توانند در اعلان‌ها تزریق شوند تا از پوشش CWE اطمینان حاصل شود. این قوانین را می‌توان با ابزارهایی مانند Cursor، یک ویرایشگر کد محبوب، استفاده کرد. علاوه بر این، سیاست‌های هوش مصنوعی کنترل می‌کنند که کدام قوانین هوش مصنوعی در IDEها از طریق پلتفرم Backslash فعال هستند و به سازمان‌ها امکان می‌دهند تنظیمات امنیتی خود را سفارشی کنند.

افزونه IDE Backslash

افزونه IDE Backslash مستقیماً در جریان‌های کاری موجود توسعه‌دهندگان ادغام می‌شود و به آنها امکان می‌دهد بررسی‌های امنیتی Backslash را روی کدهای نوشته شده توسط انسان و هوش مصنوعی دریافت کنند. این ادغام برای اطمینان از اینکه ملاحظات امنیتی در طول فرآیند توسعه مورد توجه قرار می‌گیرند، بسیار مهم است.

سرور Model Context Protocol (MCP) Backslash

سرور Model Context Protocol (MCP) Backslash یک API آگاه از زمینه است که با استاندارد MCP مطابقت دارد. این ابزار، Backslash را به ابزارهای هوش مصنوعی متصل می‌کند و کدنویسی، اسکن و رفع ایمن را امکان‌پذیر می‌کند. استاندارد MCP یک چارچوب مشترک برای ابزارهای هوش مصنوعی فراهم می‌کند تا با یکدیگر ارتباط برقرار کرده و اطلاعات را به اشتراک بگذارند، که توسعه برنامه‌های کاربردی ایمن با هوش مصنوعی را تسهیل می‌کند.

رسیدگی به چالش‌های کد تولید شده توسط هوش مصنوعی

یوسی پیک، یکی از بنیانگذاران و مدیر ارشد فناوری Backslash Security، بر چالش‌هایی که کد تولید شده توسط هوش مصنوعی برای تیم‌های امنیتی ایجاد می‌کند، تأکید می‌کند. او خاطرنشان می‌کند که “کد تولید شده توسط هوش مصنوعی - یا کدنویسی vibe - می‌تواند برای تیم‌های امنیتی مانند یک کابوس باشد. این ابزار، سیل جدیدی از کدها را ایجاد می‌کند و خطرات LLM مانند توهمات و حساسیت به اعلان را به همراه دارد.” توهمات به مواردی اشاره دارد که LLMها اطلاعات نادرست یا بی‌معنی تولید می‌کنند، در حالی که حساسیت به اعلان به تمایل LLMها برای تولید خروجی‌های مختلف بر اساس تغییرات جزئی در اعلان ورودی اشاره دارد.

با این حال، پیک همچنین معتقد است که هوش مصنوعی در صورت استفاده با کنترل‌های مناسب می‌تواند ابزاری ارزشمند برای تیم‌های AppSec باشد. او استدلال می‌کند که “با کنترل‌های مناسب - مانند قوانین تعریف شده توسط سازمان و یک سرور MCP آگاه از زمینه که به یک پلتفرم امنیتی هدفمند متصل شده است - هوش مصنوعی در واقع می‌تواند از ابتدا کنترل بیشتری به تیم‌های AppSec بدهد.” Backslash Security قصد دارد این کنترل‌ها را از طریق قوانین مبتنی بر خط‌مشی پویا، سرور MCP حساس به زمینه و افزونه IDE خود ارائه دهد، که همه آنها برای عصر جدید کدنویسی طراحی شده‌اند.

پیامدهای کد ناامن تولید شده توسط هوش مصنوعی

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

افزایش آسیب‌پذیری در برابر حملات سایبری

کد ناامن تولید شده توسط هوش مصنوعی می‌تواند آسیب‌پذیری‌های جدیدی ایجاد کند که مجرمان سایبری می‌توانند از آنها سوء استفاده کنند. این آسیب‌پذیری‌ها می‌توانند منجر به نقض داده‌ها، به خطر افتادن سیستم و سایر حوادث امنیتی شوند.

دشواری در شناسایی و رفع آسیب‌پذیری‌ها

حجم زیاد کد تولید شده توسط هوش مصنوعی می‌تواند شناسایی و رفع آسیب‌پذیری‌ها را دشوار کند. تیم‌های امنیتی ممکن است برای همگام شدن با سرعت بالای تولید کد تلاش کنند و منجر به انباشتگی مسائل امنیتی شود.

عدم آگاهی امنیتی در بین توسعه‌دهندگان

بسیاری از توسعه‌دهندگان ممکن است از خطرات امنیتی مرتبط با کد تولید شده توسط هوش مصنوعی کاملاً آگاه نباشند. این عدم آگاهی می‌تواند منجر به این شود که توسعه‌دهندگان ناخواسته آسیب‌پذیری‌ها را در برنامه‌های کاربردی خود وارد کنند.

چالش‌های انطباق با مقررات

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

بهترین روش‌ها برای تولید کد ایمن با هوش مصنوعی

برای کاهش خطرات مرتبط با کد ناامن تولید شده توسط هوش مصنوعی، سازمان‌ها باید بهترین روش‌های زیر را اتخاذ کنند:

ارائه آموزش امنیتی به توسعه‌دهندگان

توسعه‌دهندگان باید در مورد خطرات امنیتی مرتبط با کد تولید شده توسط هوش مصنوعی آموزش ببینند. این آموزش باید موضوعاتی مانند CWEهای رایج، شیوه‌های کدنویسی ایمن و نحوه استفاده از ابزارهای امنیتی را پوشش دهد.

اجرای سیاست‌ها و رویه‌های امنیتی

سازمان‌ها باید سیاست‌ها و رویه‌های امنیتی را اجرا کنند که استفاده از کد تولید شده توسط هوش مصنوعی را مورد توجه قرار دهد. این سیاست‌ها باید موارد استفاده قابل قبول، الزامات امنیتی و فرآیندهای بررسی و تأیید کد تولید شده توسط هوش مصنوعی را تعریف کنند.

استفاده از ابزارهای امنیتی برای اسکن کد تولید شده توسط هوش مصنوعی

سازمان‌ها باید از ابزارهای امنیتی برای اسکن کد تولید شده توسط هوش مصنوعی برای آسیب‌پذیری‌ها استفاده کنند. این ابزارها می‌توانند به شناسایی CWEهای رایج و سایر مسائل امنیتی کمک کنند.

اجرای چرخه حیات توسعه ایمن (SDLC)

سازمان‌ها باید یک چرخه حیات توسعه ایمن (SDLC) را اجرا کنند که ملاحظات امنیتی را در طول فرآیند توسعه در خود جای دهد. این شامل انجام بررسی‌های امنیتی کد تولید شده توسط هوش مصنوعی، انجام تست نفوذ و اجرای نظارت امنیتی است.

ایجاد یک برنامه جایزه باگ

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

از آخرین تهدیدات امنیتی مطلع باشید

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

همکاری با کارشناسان امنیتی

سازمان‌ها باید با کارشناسان امنیتی برای ارزیابی امنیت کد تولید شده توسط هوش مصنوعی خود و تدوین استراتژی‌هایی برای کاهش خطرات همکاری کنند.

آینده تولید کد ایمن با هوش مصنوعی

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

پیشرفت‌ها در امنیت هوش مصنوعی

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

ادغام امنیت در توسعه هوش مصنوعی

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

همکاری بین کارشناسان هوش مصنوعی و امنیتی

همکاری بین کارشناسان هوش مصنوعی و امنیتی برای اطمینان از امنیت سیستم‌های هوش مصنوعی ضروری است. این همکاری می‌تواند به شناسایی خطرات امنیتی بالقوه و تدوین استراتژی‌های کاهش مؤثر کمک کند.

افزایش آگاهی از خطرات امنیتی هوش مصنوعی

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

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