کیا ہم AI سے تیار کردہ کوڈ کے لیے تیار ہیں؟ پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

کیا ہم AI سے تیار کردہ کوڈ کے لیے تیار ہیں؟

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

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

Copilot جیسا ٹول (بذریعہ ڈیزائن) خودکار تکمیل ایک نشان بناتا ہے، جو اوپن سورس کوڈ پر تربیت یافتہ ہوتا ہے تاکہ ایسے ٹکڑوں کو تجویز کیا جا سکے جو اسی طرح کے سیاق و سباق میں متعلقہ ہو سکتے ہیں۔ اس سے تجاویز کے معیار اور حفاظت کو تربیتی سیٹ کے معیار اور حفاظت سے قریب سے جوڑا جاتا ہے۔ لہذا بڑے سوالات Copilot یا کسی دوسرے مخصوص ٹول کے بارے میں نہیں ہیں بلکہ عام طور پر AI سے تیار کردہ سافٹ ویئر کوڈ کے بارے میں ہیں۔

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

ستناو سنڈروم

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

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

GitHub بہت واضح طور پر کہتا ہے کہ Copilot کی تجاویز کا ہمیشہ احتیاط سے تجزیہ، جائزہ، اور جانچ کی جانی چاہیے، لیکن انسانی فطرت یہ حکم دیتی ہے کہ سب پار کوڈ بھی اسے کبھی کبھار پروڈکشن میں بدل دے گا۔ یہ سڑک سے زیادہ اپنے GPS کو دیکھتے ہوئے ڈرائیونگ کی طرح ہے۔

سپلائی چین سیکیورٹی کے مسائل

۔ Log4j سیکیورٹی بحران نے سافٹ ویئر سپلائی چین سیکیورٹی اور خاص طور پر اوپن سورس سیکیورٹی کو ایک حالیہ کے ساتھ لائم لائٹ میں منتقل کر دیا ہے۔ وائٹ ہاؤس میمو محفوظ سافٹ ویئر ڈویلپمنٹ اور ایک نیا پر اوپن سورس سیکیورٹی کو بہتر بنانے کا بل. ان اور دیگر اقدامات کے ساتھ، آپ کی ایپلی کیشنز میں کسی بھی اوپن سورس کوڈ کو جلد ہی سافٹ ویئر بل آف میٹریل (SBOM) میں لکھنے کی ضرورت پڑ سکتی ہے، جو صرف اس صورت میں ممکن ہے جب آپ جان بوجھ کر ایک مخصوص انحصار شامل کریں۔ سافٹ ویئر کمپوزیشن اینالیسس (SCA) ٹولز پرانے یا کمزور اوپن سورس اجزاء کا پتہ لگانے اور ان کی نشاندہی کرنے کے لیے بھی اس علم پر انحصار کرتے ہیں۔

لیکن کیا ہوگا اگر آپ کی درخواست میں AI سے تیار کردہ کوڈ شامل ہے جو بالآخر، اوپن سورس ٹریننگ سیٹ سے نکلتا ہے؟ نظریاتی طور پر، اگر ایک اہم تجویز بھی موجودہ کوڈ سے مماثل ہے اور جیسا کہ ہے اسے قبول کر لیا جائے، تو آپ کے سافٹ ویئر میں اوپن سورس کوڈ ہو سکتا ہے لیکن آپ کے SBOM میں نہیں۔ یہ تعمیل کے مسائل کا باعث بن سکتا ہے، اگر کوڈ غیر محفوظ ثابت ہوتا ہے اور اس کے نتیجے میں خلاف ورزی ہوتی ہے تو ذمہ داری کے امکان کا ذکر نہ کرنا — اور SCA آپ کی مدد نہیں کرے گا، کیونکہ یہ صرف کمزور انحصار تلاش کر سکتا ہے، آپ کے اپنے کوڈ میں خطرات نہیں۔ .

لائسنسنگ اور انتساب کے نقصانات

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

ایک بار پھر، کیا ہوگا اگر آپ کی ایپلیکیشن میں AI سے تیار کردہ کوڈ ہے جو موجودہ اوپن سورس کوڈ سے مماثل ہے؟ اگر آپ کا آڈٹ ہوا تو کیا یہ معلوم ہوگا کہ آپ مطلوبہ انتساب کے بغیر کوڈ استعمال کر رہے ہیں؟ یا ہو سکتا ہے کہ آپ کو اپنے کچھ تجارتی کوڈ کے مطابق رہنے کے لیے اوپن سورس کی ضرورت ہو؟ شاید یہ موجودہ ٹولز کے ساتھ ایک حقیقت پسندانہ خطرہ نہیں ہے، لیکن یہ ایسے سوالات ہیں جو آج ہم سب کو پوچھنے چاہئیں، نہ کہ 10 سال کے عرصے میں۔ (اور واضح طور پر، GitHub Copilot کے پاس سپلائی چین کے خطرات کو کم کرنے کے لیے موجودہ کوڈ سے ملنے والی تجاویز کو روکنے کے لیے ایک اختیاری فلٹر موجود ہے۔)

سیکیورٹی کے گہرے مضمرات

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

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

اور monoculture کے بارے میں کیا خیال ہے؟ اگر ایک سے زیادہ ایپلی کیشنز ایک ہی انتہائی کمزور تجویز کا استعمال کرتے ہوئے ختم ہوتی ہیں، چاہے اس کی اصلیت کچھ بھی ہو، ہم خطرے کی وبا یا شاید AI سے متعلق مخصوص خطرات کو بھی دیکھ سکتے ہیں۔

AI پر نظر رکھنا

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

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

یہاں تک کہ نسبتا شفاف ML حل جیسے Copilot پہلے سے ہی کچھ قانونی اور اخلاقی سوالات اٹھاتے ہیں، سیکورٹی خدشات کا ذکر نہیں کرنا۔ لیکن ذرا تصور کریں کہ ایک دن، کچھ نیا ٹول کوڈ بنانا شروع کر دیتا ہے جو بالکل کام کرتا ہے اور سیکیورٹی ٹیسٹ پاس کرتا ہے، سوائے ایک چھوٹی سی تفصیل کے: کوئی نہیں جانتا کہ یہ کیسے کام کرتا ہے۔ اس وقت گھبرانے کا وقت ہوتا ہے۔

ٹائم اسٹیمپ:

سے زیادہ گہرا پڑھنا