AI کے شریک پروگرامرز شاید اتنے کیڑے پیدا نہیں کریں گے جتنا کہ PlatoBlockchain ڈیٹا انٹیلی جنس کا خدشہ ہے۔ عمودی تلاش۔ عی

اے آئی کے شریک پروگرامرز شاید اتنے کیڑے پیدا نہیں کریں گے جتنا کہ خدشہ ہے۔

مشین لرننگ ماڈل جو اگلی نسل کے کوڈ کو مکمل کرنے والے ٹولز جیسے GitHub Copilot کو طاقت دیتے ہیں سافٹ ویئر ڈویلپرز کو زیادہ فعال کوڈ لکھنے میں مدد کر سکتے ہیں، بغیر اسے کم محفوظ بنائے۔

یہ نیو یارک یونیورسٹی کے کمپیوٹر سائنس دانوں کے ایک گروپ کے ذریعہ کئے گئے 58 افراد کے چھوٹے سروے کا عارضی نتیجہ ہے۔

In ایک کاغذ ArXiv، Gustavo Sandoval، Hammond Pearce، Teo Nys، Ramesh Karri، Brendan Dolan-Gavitt، اور Siddharth Garg کے ذریعے تقسیم کیا گیا کہ کس طرح انہوں نے بڑے لینگویج ماڈلز (LLMs) کی مدد سے بنائے گئے سورس کوڈ کی سیکیورٹی کو ٹیسٹ میں ڈالا۔

OpenAI GPT فیملی جیسے LLMs کو بڑے پیمانے پر پبلک ٹیکسٹ ڈیٹا، یا OpenAI's Codex کے معاملے میں پبلک سورس کوڈ پر تربیت دی گئی ہے، GPT کی اولاد اور GitHub کے Copilot کی بنیاد ہے۔ اس طرح، وہ انسانی پروگرامرز کے ذریعے ماضی میں کی گئی غلطیوں کو دوبارہ پیش کر سکتے ہیں، جس میں زیادہ سے زیادہ "کچرا اندر، کچرا باہر" کی مثال دی جاتی ہے۔ اس بات کا خدشہ تھا کہ یہ ٹولز ریگریٹ کریں گے اور ڈویلپرز کو برا کوڈ تجویز کریں گے، جو اپنے پروجیکٹس میں چیزیں ڈالیں گے۔

مزید یہ کہ کوڈ سیکیورٹی سیاق و سباق سے متعلق ہوسکتی ہے: کوڈ جو تنہائی میں محفوظ ہے غیر محفوظ ہوسکتا ہے جب دوسرے سافٹ ویئر کے ساتھ کسی خاص ترتیب میں عمل میں لایا جائے۔ لہذا، یہ خود کار طریقے سے مکمل ٹولز کوڈ کی تجاویز پیش کر سکتے ہیں جو اپنے طور پر ٹھیک ہیں، لیکن دوسرے کوڈ کے ساتھ جڑے ہوئے ہیں، اب حملے کا خطرہ ہیں یا محض ٹوٹے ہوئے ہیں۔ اس نے کہا، یہ پتہ چلتا ہے کہ یہ اوزار اصل میں انسانوں کو پروگرامنگ میں مزید خراب نہیں کرسکتے ہیں.

کچھ معنوں میں، محققین اپنی آگ بجھوا رہے تھے۔ تقریباً ایک سال پہلے، ان ہی کمپیوٹر سائنس دانوں میں سے دو نے "کی بورڈ پر سو رہے ہیں؟ GitHub Copilot کے کوڈ کی شراکت کی حفاظت کا اندازہ لگانا۔ وہ کام مل گیا۔ 40 فیصد کے بارے میں کوپائلٹ کے آؤٹ پٹ میں ممکنہ طور پر استحصالی کمزوریاں شامل ہیں (CWEs).

"دونوں کاغذات کے درمیان فرق یہ ہے کہ 'Sleep at the Keyboard' مکمل طور پر خودکار کوڈ جنریشن کو دیکھ رہا تھا (لوپ میں کوئی انسان نہیں)، اور ہمارے پاس موازنہ کرنے کے لیے انسانی صارفین نہیں تھے، اس لیے ہم اس بارے میں کچھ نہیں کہہ سکتے کہ کیسے انسانی تحریری کوڈ کی حفاظت کے مقابلے Copilots کی سیکیورٹی،" برینڈن ڈولن گیویٹ، دونوں کاغذات کے شریک مصنف اور NYU ٹنڈن میں کمپیوٹر سائنس اور انجینئرنگ ڈیپارٹمنٹ میں اسسٹنٹ پروفیسر نے ایک ای میل میں کہا۔ رجسٹر.

"یوزر اسٹڈی پیپر ان گمشدہ ٹکڑوں سے براہ راست نمٹنے کی کوشش کرتا ہے، جس میں آدھے صارفین کوڈیکس (وہ ماڈل جو کوپائلٹ کو طاقت دیتا ہے) سے مدد حاصل کرتے ہیں اور باقی آدھے کو خود کوڈ لکھتے ہیں۔ تاہم، یہ 'Sleep at the Keyboard' سے بھی تنگ ہے: ہم نے صرف ایک کام اور ایک زبان کو دیکھا (C میں لنک شدہ فہرست لکھنا)۔

تازہ ترین رپورٹ میں، "بڑی زبان کے ماڈل کوڈ اسسٹنٹس کے حفاظتی مضمرات: ایک صارف کا مطالعہ،" NYU محققین کا ایک قدرے متنوع سیٹ تسلیم کرتا ہے کہ پچھلا کام Copilot جیسے LLM پر مبنی ٹولز کے استعمال کو حقیقت پسندانہ طور پر ماڈل بنانے میں ناکام رہا۔

"سب سے پہلے، یہ مطالعہ فرض کرتے ہیں کہ پورا کوڈ خود بخود LLM کے ذریعے تیار ہوتا ہے (ہم اسے آٹو پائلٹ موڈ کہیں گے)،" بوفنز اپنے مقالے میں وضاحت کرتے ہیں۔

"عملی طور پر، کوڈ کی تکمیل LLMs ڈویلپرز کو ان تجاویز کے ساتھ مدد کرتے ہیں جنہیں وہ قبول، ترمیم یا مسترد کرنے کا انتخاب کریں گے۔ اس کا مطلب یہ ہے کہ اگرچہ آٹومیشن کے تعصب کا شکار پروگرامرز بڑی آسانی سے چھوٹی چھوٹی تکمیلوں کو قبول کر سکتے ہیں، دوسرے ڈویلپر کیڑے کو ٹھیک کرنے کے لیے بچائے گئے وقت کو استعمال کر کے کم بگی کوڈ تیار کر سکتے ہیں۔

دوسرا، وہ مشاہدہ کرتے ہیں کہ جب LLMs کو بگی کوڈ تیار کرتے دکھایا گیا ہے، انسان بھی ایسا کرتے ہیں۔ ایل ایل ایم ٹریننگ ڈیٹا میں کیڑے لوگوں کی طرف سے آئے۔

لہٰذا LLM سے تیار کردہ کوڈ کی خود بخود تشخیص کرنے کے بجائے، وہ اس بات کا موازنہ کرنے کے لیے نکلے کہ مشین لرننگ ماڈلز کی مدد سے انسانی ڈویلپرز کا تیار کردہ کوڈ کس طرح پروگرامنگ کے ذریعے تیار کردہ کوڈ سے مختلف ہے۔

NYU کے کمپیوٹر سائنس دانوں نے سروے کے 58 شرکاء کو بھرتی کیا - انڈر گریجویٹ اور گریجویٹ طلباء کو سافٹ ویئر ڈویلپمنٹ کورسز میں - اور انہیں ایک کنٹرول گروپ میں تقسیم کیا، جو بغیر تجاویز کے کام کرے گا، اور ایک معاون گروپ، جسے OpenAI کا استعمال کرتے ہوئے بنائے گئے حسب ضرورت تجویز کے نظام تک رسائی حاصل تھی۔ کوڈیکس API۔ انہوں نے مقابلے کے نقطہ کے طور پر دیئے گئے پروگرامنگ کے مسائل کے 30 حل بنانے کے لیے کوڈیکس ماڈل کا بھی استعمال کیا۔ یہ آٹو پائلٹ گروپ بنیادی طور پر دوسرے کنٹرول گروپ کے طور پر کام کرتا تھا۔

معاون اور کنٹرول دونوں گروپوں کو ویب وسائل سے مشورہ کرنے کی اجازت تھی، جیسے کہ گوگل اور اسٹیک اوور فلو، لیکن دوسروں سے مدد طلب کرنے کی نہیں۔ اوپن سورس کے ساتھ بنائے گئے ویب پر مبنی کنٹینر کے اندر ویژول اسٹوڈیو کوڈ میں کام کیا گیا تھا۔ Anubis کے.

شرکاء سے کہا گیا کہ وہ سی پروگرامنگ لینگویج کا استعمال کرتے ہوئے شاپنگ لسٹ پروگرام کو مکمل کریں کیونکہ "ڈیولپرز کے لیے نادانستہ طور پر سی میں کمزور ڈیزائن پیٹرن کا اظہار کرنا آسان ہے" اور اس لیے کہ استعمال شدہ C کمپائلر ٹول چین اسی ڈگری ٹول چینز میں غلطیوں کی جانچ نہیں کرتا ہے۔ جدید زبانیں، جیسے Go اور Rust، کرتے ہیں۔

جب محققین نے کنٹرول اور اسسٹنٹ گروپس کے تیار کردہ کوڈ کا دستی طور پر تجزیہ کیا تو انہیں معلوم ہوا کہ پہلے کام کے برعکس، AI کوڈ کی تجاویز نے مجموعی طور پر چیزوں کو مزید خراب نہیں کیا۔

صاف نظر آتا ہے، لیکن تفصیلات موجود ہیں۔

"[ڈبلیو] مجھے یہ تجویز کرنے کے لیے کوئی ثبوت نہیں ملا کہ کوڈیکس کی مدد سے سیکیورٹی بگ کے واقعات میں اضافہ ہوتا ہے،" مقالے میں کہا گیا، جبکہ مطالعہ کے چھوٹے نمونے کے سائز کا مطلب ہے کہ مزید مطالعہ کی ضرورت ہے۔ "اس کے برعکس، کچھ ایسے شواہد موجود ہیں جو بتاتے ہیں کہ CWEs/LoC [کوڈ کی لائنیں] کوڈیکس کی مدد سے کم ہوتی ہیں۔"

"بہت زیادہ شماریاتی اعتماد کے ساتھ یہ نتیجہ اخذ کرنا مشکل ہے،" سدھارتھ گرگ، سائبرسیکیوریٹی کے محقق اور NYU ٹنڈن کے انجینئرنگ ڈیپارٹمنٹ میں ایسوسی ایٹ پروفیسر نے ایک فون انٹرویو میں کہا۔ رجسٹر.

بہت زیادہ شماریاتی اعتماد کے ساتھ یہ نتیجہ اخذ کرنا مشکل ہے۔

اس کے باوجود، انہوں نے کہا، "ڈیٹا بتاتا ہے کہ کوپائلٹ صارفین زیادہ خراب نہیں تھے۔"

Dolan-Gavitt نتائج کے بارے میں اسی طرح محتاط ہے.

"ہمارے صارف کے مطالعہ کے نتائج کے موجودہ تجزیے میں اعداد و شمار کے لحاظ سے کوئی اہم فرق نہیں پایا گیا ہے - ہم ابھی بھی اس کا تجزیہ کر رہے ہیں، بشمول کوالٹیٹو، اس لیے میں اس سے کوئی مضبوط نتیجہ اخذ نہیں کروں گا، خاص طور پر چونکہ یہ ایک چھوٹا سا مطالعہ تھا (مجموعی طور پر 58 صارفین) اور صارفین پیشہ ور ڈویلپرز کے بجائے تمام طالب علم تھے۔

"پھر بھی، ہم یہ کہہ سکتے ہیں کہ ان صارفین کے ساتھ، اس کام پر، AI کی مدد حاصل کرنے کا سیکیورٹی اثر شاید زیادہ نہیں تھا: اگر اس کا بہت بڑا اثر ہوتا، تو ہم نے دونوں گروپوں کے درمیان ایک بڑا فرق دیکھا ہوتا۔ ہم ابھی اس کو درست کرنے کے لیے کچھ زیادہ شماریاتی تجزیہ کر رہے ہیں۔"

اس کے علاوہ کچھ اور بصیرتیں بھی سامنے آئیں۔ ایک یہ کہ اسسٹنٹ گروپ کے شرکاء زیادہ نتیجہ خیز تھے، کوڈ کی مزید لائنیں تیار کرتے تھے اور اسائنمنٹ میں فنکشنز کا ایک بڑا حصہ مکمل کرتے تھے۔

گرگ نے کہا، "اسسٹڈ گروپ کے صارفین نے زیادہ فنکشنل ٹیسٹ پاس کیے اور زیادہ فعال کوڈ تیار کیے،" انہوں نے مزید کہا کہ اس قسم کے نتائج معاون کوڈنگ ٹولز کو دیکھنے والی کمپنیوں کو یہ فیصلہ کرنے میں مدد کر سکتے ہیں کہ آیا انہیں تعینات کرنا ہے۔

ایک اور بات یہ ہے کہ محققین کنٹرول، اسسٹڈ اور آٹو پائلٹ گروپس کے ذریعہ تیار کردہ آؤٹ پٹ میں فرق کرنے کے قابل تھے، جو کم ہو سکتے ہیں۔ خدشات تعلیمی ترتیبات میں AI-پاور دھوکہ دہی کے بارے میں۔

بوفنز نے یہ بھی پایا کہ صارف کی غلطی کے تناظر میں AI ٹولز پر غور کرنے کی ضرورت ہے۔ "صارفین ایسے اشارے فراہم کرتے ہیں جس میں کیڑے شامل ہو سکتے ہیں، بگی پرامپٹس کو قبول کرتے ہیں جو 'مکمل' پروگراموں میں ختم ہوتے ہیں اور ساتھ ہی ایسے کیڑے قبول کرتے ہیں جنہیں بعد میں ہٹا دیا جاتا ہے،" پیپر کہتا ہے۔ "بعض صورتوں میں، صارفین بھی ماڈل کی طرف سے تجویز کردہ سے زیادہ کیڑے کے ساتھ ختم ہوتے ہیں!"

ان خطوط پر مزید کام کی توقع کریں۔ ®

ٹائم اسٹیمپ:

سے زیادہ رجسٹر