ربما لن ينتج المبرمجون المشاركون في منظمة العفو الدولية العديد من الأخطاء مثل ذكاء بيانات PlatoBlockchain المخيف. البحث العمودي. عاي.

ربما لن ينتج المبرمجون المشاركون في منظمة العفو الدولية العديد من الأخطاء كما يُخشى

يمكن لنماذج التعلم الآلي التي تعمل على تشغيل أدوات إكمال التعليمات البرمجية من الجيل التالي مثل GitHub Copilot أن تساعد مطوري البرامج في كتابة المزيد من التعليمات البرمجية الوظيفية ، دون جعلها أقل أمانًا.

هذه هي النتيجة المبدئية لمسح وإن كان صغيرًا على 58 شخصًا أجرته مجموعة من علماء الكمبيوتر في جامعة نيويورك.

In ورقة تم توزيعها عبر ArXiv ، و Gustavo Sandoval ، و Hammond Pearce ، و Teo Nys ، و Ramesh Karri ، و Brendan Dolan-Gavitt ، و Siddharth Garg ، وسردوا كيف وضعوا أمان الكود المصدري الذي تم إنشاؤه بمساعدة نماذج اللغات الكبيرة (LLMs) للاختبار.

تم تدريب LLM مثل عائلة OpenAI GPT على كميات هائلة من البيانات النصية العامة ، أو كود المصدر العام في حالة OpenAI's Codex ، وهو سليل GPT وأساس مساعد GitHub's Copilot. على هذا النحو ، قد يقومون بإعادة إنتاج الأخطاء التي ارتكبها المبرمجون البشريون في الماضي ، لتوضيح مبدأ "قمامة في ، قمامة خارج". كان هناك خوف من أن تتجدد هذه الأدوات وتقترح كودًا سيئًا للمطورين ، الذين سيدخلون الأشياء في مشاريعهم.

علاوة على ذلك ، يمكن أن يكون أمان الكود سياقيًا: قد تكون التعليمات البرمجية الآمنة في عزلة غير آمنة عند تنفيذها في تسلسل معين باستخدام برامج أخرى. لذلك ، قد تقدم أدوات الإكمال التلقائي هذه اقتراحات للأكواد تكون جيدة من تلقاء نفسها ، ولكنها متصلة برمز آخر ، وهي الآن عرضة للهجوم أو مجرد كسر عادي. بعد قولي هذا ، اتضح أن هذه الأدوات قد لا تجعل البشر أسوأ في البرمجة.

بمعنى ما ، كان الباحثون يطفئون نيرانهم. منذ حوالي عام ، ساهم اثنان من نفس علماء الكمبيوتر في بحث بعنوان "نائم عند لوحة المفاتيح؟ تقييم أمان مساهمات كود GitHub Copilot ". وجدت هذا العمل حول 40 في المئة من الناتج من مساعد الطيار يتضمن نقاط ضعف يمكن استغلالها (CWEs).

"الاختلاف بين الورقتين هو أن" السكون عند لوحة المفاتيح "كان يبحث في إنشاء رمز مؤتمت بالكامل (لا يوجد إنسان في الحلقة) ، ولم يكن لدينا مستخدمون بشريون لمقارنتهم ، لذلك لم نتمكن من قول أي شيء عن كيفية قال بريندان دولان جافيت ، المؤلف المشارك في كل من الأوراق البحثية والأستاذ المساعد في قسم علوم وهندسة الكمبيوتر في جامعة نيويورك تاندون ، في رسالة بريد إلكتروني إلى السجل.

تحاول ورقة دراسة المستخدم معالجة هذه الأجزاء المفقودة مباشرةً ، من خلال حصول نصف المستخدمين على المساعدة من Codex (النموذج الذي يدعم Copilot) وجعل النصف الآخر يكتب الشفرة بأنفسهم. ومع ذلك ، فهي أيضًا أضيق من "السكون عند لوحة المفاتيح": لقد نظرنا فقط إلى مهمة واحدة ولغة واحدة (كتابة قائمة مرتبطة في C). "

في التقرير الأخير ، "الآثار الأمنية لمساعدي رمز نموذج اللغة الكبيرة: دراسة مستخدم" ، أقرت مجموعة متنوعة قليلاً من باحثي جامعة نيويورك بأن العمل السابق فشل في تصميم استخدام الأدوات القائمة على LLM مثل مساعد الطيار بشكل واقعي.

"أولاً ، تفترض هذه الدراسات أن الشفرة بالكامل يتم إنشاؤها تلقائيًا بواسطة LLM (سنسمي هذا وضع الطيار الآلي) ،" يشرح boffins في ورقتهم.

"من الناحية العملية ، تساعد LLM لإكمال الكود المطورين في الاقتراحات التي سيختارونها لقبولها أو تعديلها أو رفضها. وهذا يعني أنه على الرغم من أن المبرمجين المعرضين لتحيز الأتمتة قد يقبلون بسذاجة عمليات إكمال عربات التي تجرها الدواب ، فقد ينتج مطورو آخرون أكواد أقل عددًا من الأخطاء باستخدام الوقت الذي يتم توفيره لإصلاح الأخطاء ".

ثانيًا ، لاحظوا أنه بينما ثبت أن LLM تنتج كود عربات التي تجرها الدواب ، فإن البشر يفعلون ذلك أيضًا. جاءت الأخطاء في بيانات تدريب LLM من الأشخاص.

لذا بدلاً من تقييم مدى صعوبة الشفرة التي تم إنشاؤها بواسطة LLM من تلقاء نفسها ، شرعوا في مقارنة كيفية اختلاف الشفرة التي ينتجها مطورو البشر بمساعدة نماذج التعلم الآلي عن الكود الذي تنتجه البرمجة التي تعمل بمفردهم.

قام علماء الكمبيوتر بجامعة نيويورك بتوظيف 58 مشاركًا في الاستبيان - طلاب جامعيون وطلاب دراسات عليا في دورات تطوير البرمجيات - وقسموهم إلى مجموعة تحكم ، تعمل دون اقتراحات ، ومجموعة مدعومة ، لديها إمكانية الوصول إلى نظام اقتراح مخصص تم إنشاؤه باستخدام OpenAI كودكس API. كما استخدموا نموذج Codex لإنشاء 30 حلًا لمشاكل البرمجة المعينة كنقطة للمقارنة. عملت مجموعة الطيار الآلي هذه بشكل أساسي كمجموعة تحكم ثانية.

تم السماح لكل من مجموعات Assisted و Control باستشارة موارد الويب ، مثل Google و Stack Overflow ، ولكن لا تطلب المساعدة من الآخرين. تم العمل في Visual Studio Code داخل حاوية على شبكة الإنترنت مبنية بمصدر مفتوح أنوبيس.

طُلب من المشاركين إكمال برنامج قائمة التسوق باستخدام لغة البرمجة C لأنه "من السهل على المطورين التعبير عن غير قصد عن أنماط تصميم ضعيفة في لغة C" ولأن سلسلة أدوات مترجم C المستخدمة لا تتحقق من وجود أخطاء في سلاسل أدوات الدرجة نفسها بالنسبة اللغات الحديثة ، مثل Go and Rust ، تفعل.

عندما حلل الباحثون يدويًا الكود الذي أنتجته مجموعتي التحكم والمساعد ، وجدوا أنه على عكس العمل السابق ، فإن اقتراحات كود الذكاء الاصطناعي لم تجعل الأمور أسوأ بشكل عام.

تبدو واضحة ، لكن هناك تفاصيل

ذكرت الورقة أنه "لم نعثر على أي دليل يشير إلى أن مساعدة الدستور الغذائي تزيد من حدوث الأخطاء الأمنية" ، مع ملاحظة أن حجم العينة الصغير للدراسة يعني مزيدًا من الدراسة. "على العكس من ذلك ، هناك بعض الأدلة التي تشير إلى أن CWEs / LoC [سطور التعليمات البرمجية] تتناقص بمساعدة الدستور الغذائي."

قال سيدهارث جارج ، باحث في الأمن السيبراني وأستاذ مشارك في قسم الهندسة في جامعة نيويورك تاندون ، في مقابلة هاتفية مع السجل.

من الصعب استنتاج هذا بثقة إحصائية كبيرة

ومع ذلك ، قال ، "تشير البيانات إلى أن مستخدمي الطيارين لم يكونوا أسوأ حالًا."

وبالمثل ، فإن دولان جافيت حذرة بشأن النتائج.

"لم يجد التحليل الحالي لنتائج دراسة المستخدم الخاصة بنا أي اختلافات ذات دلالة إحصائية - ما زلنا نحلل هذا ، بما في ذلك النوعية ، لذلك لن أستخلص استنتاجات قوية من هذا ، خاصةً لأنها كانت دراسة صغيرة (إجمالي 58 مستخدمًا) و كان المستخدمون جميعًا طلابًا وليسوا مطورين محترفين ".

"ومع ذلك ، يمكننا القول أنه مع هؤلاء المستخدمين ، في هذه المهمة ، ربما لم يكن التأثير الأمني ​​للحصول على مساعدة الذكاء الاصطناعي كبيرًا: إذا كان له تأثير كبير جدًا ، لكنا قد لاحظنا فرقًا أكبر بين المجموعتين. نحن نقوم بتحليل إحصائي أكثر قليلاً لجعل ذلك دقيقًا في الوقت الحالي ".

أبعد من ذلك ، ظهرت بعض الأفكار الأخرى. الأول هو أن المشاركين في مجموعة المساعد كانوا أكثر إنتاجية ، حيث قاموا بإنشاء المزيد من أسطر التعليمات البرمجية وإكمال جزء أكبر من الوظائف في المهمة.

قال جارج: "اجتاز المستخدمون في المجموعة المساعدة المزيد من الاختبارات الوظيفية وأنتجوا المزيد من التعليمات البرمجية الوظيفية" ، مضيفًا أن نتائج هذا النوع قد تساعد الشركات التي تبحث في أدوات الترميز المساعدة على تحديد ما إذا كانت ستنشرها أم لا.

آخر هو أن الباحثين كانوا قادرين على تمييز المخرجات التي تنتجها مجموعات التحكم ، والمساعد ، والطيار الآلي ، والتي قد تهدأ اهتمامات حول الغش في قدرات الذكاء الاصطناعي في الأوساط التعليمية.

وجد boffins أيضًا أن أدوات الذكاء الاصطناعي يجب أن تؤخذ في الاعتبار في سياق خطأ المستخدم. تقول الصحيفة: "يقدم المستخدمون مطالبات قد تتضمن أخطاء ، ويقبلون مطالبات عربات التي تجرها الدواب التي تنتهي في البرامج" المكتملة "بالإضافة إلى قبول الأخطاء التي تمت إزالتها لاحقًا". "في بعض الحالات ، ينتهي الأمر أيضًا بالمستخدمين بعدد أكبر من الأخطاء مما اقترحه النموذج!"

توقع المزيد من العمل على طول هذه الخطوط. ®

الطابع الزمني:

اكثر من السجل