با ظهور پروژه های هوش مصنوعی مانند GitHub’s Copilot و OpenAI’s ChatGPT ، این ایده مطرح شد که این پروژه ها امکان ایجاد کدهای ناامن رو هم ممکنه داشته باشن.
یعنی مدل کدی رو پیشنهاد بده که توش آسیب پذیری هایی مانند XSS و SQLI و … وجود داشته باشه.
این پروژه ها با یسری کد عمومی آموزش داده میشن و ممکنه توشون کدهای ناامن هم باشه و سیستم بتونه کد ناامن رو هم یاد بگیره و ایجاد کنه.
برای رفع این مورد از تکنیک های مبتنی بر امضای و آنالیز استاتیک استفاده میکنن.
محققای دانشگاه UC Santa Barbara و ویرجینیا و مایکروسافت یه مقاله ای منتشر کردن که تونستن این روش ها رو دور بزنن و مدل رو طوری آموزش بدن که بتونه کد ناامن هم ایجاد کنه. اسم این روش رو هم TROJANPUZZLE گذاشتن.
تو این مقاله یه روشی رو پیدا کردن که از طریق رشته های Docstrings برای آموزش دادن استفاده میکنن.
این رشته ها ، برای توضیحات در کدها کاربرد دارن و ابزار های استاتیک اونارو نادیده میگیرن. در نتیجه مهاجم میتونه مدل رو با این رشته ها آموزش بده و درنتیجه مسمومش کنه و امکان پیشنهاد کدهای ناامن رو فراهم کنه.