بستههای کد تولیدشده توسط هوش مصنوعی میتوانند به تهدید «اسلاپسکواتینگ» منجر شوند!
محققان دانشگاههای تگزاس سنآنتونیو، اوکلاهما و ویرجینیاتک در یک پژوهش گسترده دریافتند که در حدود ۲۰٪ از کدهای تولیدشده توسط ۱۶ مدل هوش مصنوعی، نام بستههایی پیشنهاد میشود که اصلاً وجود ندارند. این «توهم بسته» فرصتی طلایی برای مهاجمان فراهم میآورد تا با ثبت همان نامها و تزریق کد مخرب در بستههای جعلی، نرمافزارهای هدف را آلوده کنند؛ همان تهدیدی که به نام «اسلاپسکواتینگ» شناخته میشود.
علاوه بر این، این پژوهش نشان داد که بسیاری از این خطاها تکرارشوندهاند و حدود ۵۸٪ موارد بیش از یکبار تکرار میشوند که امکان سوءاستفاده از آن را برای نفوذگران افزایش میدهد. با این حال، برخی از مدلها مانند GPT-4 Turbo توانایی شناسایی خودکار این توهمات را تا بیش از ۷۵٪ دارند که راهکاری برای کاهش مخاطرات ارائه میدهد. کارشناسان تأکید میکنند که استفاده از مدلهای معتبر، پایش دقیق بستهها و افزودن مراحل اعتبارسنجی به فرآیند تولید کد ضروری است تا اسلاپسکواتینگ قابل مهار بماند
مرحله ورود اسلاپسکواتینگ
اخیراً این موضوع با تهدیدی که نام رنگارنگی به آن داده شده، اسلاپسکواتینگ، اصطلاحی که توسط محقق امنیتی Seth Larson ابداع شده و مطالعهای که توسط محققان سه دانشگاه انجام شده و نشان میدهد 20٪ تمایل در مدلهای زبانی بزرگ (LLMs) به توصیه کتابخانهها و بستههای نرمافزاری غیرموجود، توجه جدیدی را به خود جلب کرده است.
«هالوسینیشنها همراه با تزریق کد مخرب عمدی قطعاً یک نگرانی هستند،» Raj Kesarapalli، مدیر محصول در شرکت امنیت سایبری Black Duck،گفت: «هالوسینیشنها منجر به عملکرد ناخواسته میشوند، در حالی که تزریق کد مخرب منجر به نگرانیهای امنیتی میشود.»
اصطلاح اسلاپسکواتینگ یک بازی با اصطلاح رایجتر «typosquatting» است، یک تکنیک حمله که در آن افراد بدخواه دامنهها یا بستههای نرمافزاری مخرب را با نامهایی ثبت میکنند که املای آنها کمی با وبسایتها یا بستههای قانونی متفاوت است، به امید اینکه کاربران یا توسعهدهندگان از نامهای غلط املایی استفاده کنند.
زبانهای برنامهنویسی محبوب و مدلهای زبانی تولیدکننده کد
در مقالهای که توسط محققان دانشگاه تگزاس در سن آنتونیو، دانشگاه اوکلاهما و ویرجینیا تک نوشته شده، آمده است که ترکیب زبانهای برنامهنویسی محبوب مانند پایتون و جاوااسکریپت در مخازن بستههای نرمافزاری و نرمافزارهای متنباز با مدلهای زبانی بزرگ (LLMs) تولیدکننده کد، «نوع جدیدی از تهدید برای زنجیره تأمین نرمافزار ایجاد کرده است: توهم بستهها (Package Hallucinations).»
آنها افزودند: «این توهمها، که از خطاهای مغایر با واقعیت در هنگام تولید کد توسط مدلهای زبانی ناشی میشوند، شکل جدیدی از حمله سردرگمی بستهها را نشان میدهند که تهدیدی جدی برای یکپارچگی زنجیره تأمین نرمافزار به شمار میرود.این آسیبپذیری میتواند در کل کدپایه یا زنجیره وابستگی نرمافزار گسترش یابد و هر کدی که به بسته مخرب وابسته است را آلوده کند.»
توضیحات مختصر:
- توهم بستهها (Package Hallucinations): به پیشنهاد بستههای غیرواقعی توسط مدلهای زبانی اشاره دارد.
- حمله سردرگمی بستهها (Package Confusion Attack): نوعی حمله که از اشتباهات مدلهای زبانی برای فریب توسعهدهندگان استفاده میکند.
- زنجیره تأمین نرمافزار (Software Supply Chain): به شبکهای از اجزا و وابستگیهای نرمافزاری اشاره دارد.
تعداد زیادی بسته غیرموجود
محققان 16 مدل هوش مصنوعی تولیدکننده کد، از جمله DeepSeek، Claude از Anthropic، ChatGPT-4 از OpenAI و Mistral را آزمایش کردند. آنها با استفاده از دو مجموعه داده ورودی، 30 آزمایش انجام دادند – 16 مدل برای پایتون و 14 مدل برای جاوااسکریپت – و دریافتند که از 756,000 نمونه کد تولیدشده، تقریباً 20٪ به بستههای غیرموجود اشاره داشتند.
به همان اندازه نگرانکننده که وقتی از ورودیای استفاده میشد که باعث توهم شده بود، 43٪ از بستههای توهمی در 10 پرسوجو تکرار شدند و در 58٪ موارد، یک بسته توهمی بیش از یک بار تکرار شد. این نشان داد که بیشتر توهمها صرفاً خطاهای تصادفی نیستند، بلکه مشکلی تکرارشونده هستند که در چندین تکرار رخ میدهند، به گفته محققان.
آنها نوشتند: «این موضوع اهمیت دارد زیرا یک توهم پایدار برای بازیگران مخرب که به دنبال بهرهبرداری از این آسیبپذیری هستند، ارزشمندتر است و بردار حمله توهمی را به تهدیدی واقعیتر تبدیل میکند.»
با این حال، آزمایشها همچنین نشان داد که چندین مدل – از جمله DeepSeek، GPT-4 Turbo و GPT-3.5 – در بیش از 75٪ موارد توانستند بستههای توهمی خود را شناسایی کنند، که به گفته محققان «نشانهای از قابلیت خودتنظیمی ذاتی» است. آنها نوشتند: «این نشانه که این مدلها درک ضمنی از الگوهای تولیدی خود دارند که میتواند برای بهبود خود استفاده شود، یافتهای مهم برای توسعه استراتژیهای کاهش است.»
اعتبارسنجی و تأیید
محققان از جامعه پژوهشی خواستند تا موضوع توهم بستهها (Package Hallucinations) را مورد بررسی قرار دهند. این موضوع بهویژه با توجه به سرعت فزاینده استفاده توسعهدهندگان از ابزارهای کدنویسی مبتنی بر هوش مصنوعی، اهمیت زیادی دارد. بر اساس مطالعهای توسط GitHub، بیش از 97٪ از توسعهدهندگان مورد بررسی اظهار داشتند که حداقل یکبار در کار خود از ابزارهای کدنویسی هوش مصنوعی استفاده کردهاند.
راج کساراپالی، از شرکت Black Duck، اظهار داشت که اکثر توسعهدهندگان بهطور کامل از خطرات مرتبط با استفاده از کد تولیدشده توسط هوش مصنوعی آگاه نیستند. آنها بیشتر بر ارائه عملکرد در نرمافزار خود به راحتترین و سادهترین روش تمرکز دارند.
او گفت: «حتی پیش از ظهور کدهای تولیدشده توسط هوش مصنوعی، توسعهدهندگان با ابزارها و فرآیندهایی تقویت شده بودند که به آزمایش عملکرد، کیفیت کد، آسیبپذیریهای امنیتی و گلوگاههای عملکردی میپرداختند.» او افزود: «این مراحل اعتبارسنجی و تأیید با ورود هوش مصنوعی مولد (GenAI) حتی مهمتر شدهاند. علاوه بر نگرانیهای موجود، شرکتها اکنون باید اطمینان حاصل کنند که مدلهای زبانی بزرگ (LLMs) کد مخربی تزریق نمیکنند که با ابزارها و فرآیندهای موجود شناسایی نشود.»
کساراپالی تأکید کرد که توسعهدهندگان باید اطمینان حاصل کنند که از یک مدل زبانی بزرگ تأییدشده که روی کدهای قابلاعتماد آموزش دیده استفاده میکنند و کد تولیدشده و واردشده به پایگاه کد را بررسی میکنند تا خطرات را مدیریت کنند. همچنین باید کد تولیدشده توسط هوش مصنوعی را در پایگاه کد بهوضوح شناسایی کنند تا ارزیابی آن آسانتر باشد.
او گفت: «داوران همکار نیز باید از بخشهای تولیدشده توسط هوش مصنوعی در کد جدید آگاه باشند تا بتوانند آن را با دقت بیشتری بررسی کنند.
منبع: devops.com
برگرداننده: cloudempire.ir