شرکت امنیتی توسعهدهنده هشدار میدهد که Copilot و سایر دستیاران کدنویسی مجهز به هوش مصنوعی ممکن است آسیبپذیریهای امنیتی موجود در پایگاه کد کاربر را تکرار کنند.
دستیار کدنویسی مجهز به هوش مصنوعی GitHub، GitHub Copilot، ممکن است زمانی که پایگاه کد موجود کاربر دارای مشکلات امنیتی باشد، کد ناامن را پیشنهاد کند.
Snyk در یک پست وبلاگی که در ۲۲ فوریه منتشر شد، گفت:
GitHub Copilot میتواند مسائل امنیتی موجود را در کد تکرار کند. این شرکت گفت: “این بدان معناست که بدهی امنیتی موجود در یک پروژه میتواند توسعهدهندگان ناامن را که از Copilot استفاده میکنند حتی کمتر از امنیت کند.” با این حال، GitHub Copilot کمتر احتمال دارد کد ناامن را در پروژههای بدون مشکلات امنیتی پیشنهاد کند، زیرا زمینه کد ناامن کمتری برای استخراج دارد.
دستیارهای کدنویسی
هوش مصنوعی مولد مانند GitHub Copilot، Amazon CodeWhisperer، و ChatGPT جهش قابل توجهی به جلو ارائه می دهند. اسنیک گفت: در بهره وری و کارایی کد. اما این ابزارها معنای کد را درک نمی کنند و بنابراین نمی توانند درباره آن قضاوت کنند.
GitHub Copilot قطعات کد را بر اساس الگوها و ساختارهایی که از مخزن وسیعی از کدهای موجود آموخته است تولید می کند. اسنیک گفت، در حالی که این رویکرد دارای مزایایی است، می تواند در زمینه امنیت نیز یک اشکال آشکار داشته باشد. پیشنهادات کد Copilot ممکن است به طور ناخواسته آسیبپذیریهای امنیتی موجود و شیوههای بد موجود در فایلهای همسایه را تکرار کنند.
برای کاهش تکرار مشکلات امنیتی موجود در کد تولید شده توسط دستیاران هوش مصنوعی، Snyk مراحل زیر را توصیه می کند:
- توسعه دهندگان باید کد را به صورت دستی بررسی کنند.
- تیمهای امنیتی باید یک نرده محافظ SAST (تست امنیتی برنامههای کاربردی امنیتی) از جمله خطمشیها را در جای خود قرار دهند.
- توسعه دهندگان باید دستورالعمل های کدگذاری ایمن را رعایت کنند.
- تیمهای امنیتی باید آموزش و آگاهی را به تیمهای توسعه ارائه دهند و مشکلات عقبافتاده هر تیم را اولویتبندی و تریاژ کنند.
- تیمهای اجرایی باید نردههای امنیتی را اجباری کنند.
دادههای Snyk میگویند که پروژه نرمافزاری تجاری متوسط به طور متوسط ۴۰ آسیبپذیری در کدهای شخص اول دارد و تقریباً یک سوم آنها مسائل با شدت بالا هستند. اسنیک گفت: «این زمین بازی است که در آن ابزارهای تولید هوش مصنوعی میتوانند کد را با استفاده از این آسیبپذیریها به عنوان زمینه خود تکرار کنند. رایجترین مسائلی که Snyk در پروژههای تجاری مشاهده میکند عبارتند از اسکریپت بین سایتی، پیمایش مسیر، تزریق SQL، و اسرار و اعتبارنامهها با کد سخت.
GitHub در اواخر بعد از ظهر چهارشنبه برای پاسخ به نظرات Snyk در مورد GitHub Copilot قابل دسترسی نیست.
پست های مرتبط
اسنیک میگوید GitHub Copilot کد ناامن را حتی از امنیت کمتری میکند
اسنیک میگوید GitHub Copilot کد ناامن را حتی از امنیت کمتری میکند
اسنیک میگوید GitHub Copilot کد ناامن را حتی از امنیت کمتری میکند