مواد پر جائیں
23 اگست 2026 · سیکیورٹی

کیا اے آئی سے بنا کوڈ واقعی محفوظ ہے؟ ایک بلڈر کا عمومی سوالنامہ

یہ مضمون اشاعت کے وقت پروڈکٹ کو بیان کرتا ہے۔ موجودہ صلاحیات کے لیے AI Builder اور Agent Teams دیکھیں۔

کیا اے آئی سے بنا کوڈ واقعی محفوظ ہے؟ ایک بلڈر کا عمومی سوالنامہ

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

کیا AI کا لکھا ہوا کوڈ انسان کے لکھے ہوئے کوڈ سے کم محفوظ ہوتا ہے؟

اوسطاً، اور اگر بغیر جانچے چھوڑ دیا جائے، تو ہاں — تھوڑا سا۔ چند سال پہلے کی ایک اسٹینفورڈ اسٹڈی (Perry et al.، جسے اکثر اس موضوع پر پہلا حقیقی جائزہ کہا جاتا ہے) نے پایا کہ AI کوڈنگ اسسٹنٹ استعمال کرنے والے ڈویلپرز نے کنٹرول گروپ کے مقابلے میں کم محفوظ کوڈ بنایا — اور، یہ حصہ زیادہ فکر مند کرنے والا ہے، انہوں نے اپنے کوڈ کو حقیقت سے زیادہ محفوظ قرار دیا۔ اعتماد بڑھا جبکہ معیار گرا۔ Veracode کے حالیہ GenAI کوڈ سیکیورٹی اسکینز نے بھی اس پر ایک تقریباً درست عدد لگایا: انہوں نے جو AI سے تیار کردہ کوڈ کے نمونے ٹیسٹ کیے ان میں سے تقریباً ہر 10 میں سے 4 نے کم از کم ایک قابلِ استحصال خامی متعارف کرائی، عام طور پر کوئی معمولی چیز جیسے کوئی غائب ان پُٹ چیک یا کمزور ڈیفالٹ۔ اس کا مطلب یہ نہیں کہ AI کا لکھا ہوا کوڈ فطری طور پر تباہی کا شکار ہوتا ہے۔ اس کا مطلب یہ ہے کہ بغیر جائزے کے AI کا لکھا کوڈ بھی وہی خطرہ رکھتا ہے جو بغیر جائزے کا انسانی کوڈ رکھتا ہے، اور اصل خطرہ "بغیر جائزے" والے حصے میں ہی ہے۔ ایک ماڈل جو تیزی سے لکھتا ہے اور کبھی چیک نہیں ہوتا وہی غلطیاں کرے گا جو ایک جونیئر ڈویلپر جمعہ کی سہ پہر کو کرتا ہے — بس زیادہ تیزی سے، اور زیادہ مقدار میں۔

~40% AI سے تیار کردہ کوڈ کے نمونے جو Veracode کے 2025 کے GenAI سیکیورٹی اسکین میں کم از کم ایک قابلِ استحصال خامی رکھتے پائے گئے

میری API کیز اور سیکرٹس کا کیا بنتا ہے؟

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

کیا کوئی مجھے پرامپٹ کے ذریعے ہیک کر سکتا ہے، جیسے پرامپٹ انجیکشن اٹیک؟

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

کیا بلڈر خود اپنے کوڈ کو شپ کرنے سے پہلے خامیوں کے لیے چیک کرتا ہے؟

خودکار چیکس عام، زیادہ کثرت سے ہونے والی چیزیں قابلِ اعتماد طریقے سے پکڑ لیتے ہیں: ہارڈ کوڈڈ سیکرٹس، ایسے اینڈ پوائنٹ پر غائب اتھینٹیکیشن جسے واضح طور پر اس کی ضرورت ہو، پیرامیٹرز کے بجائے اسٹرنگ کنکیٹینیشن سے بنایا گیا SQL، معلوم CVE والی ڈیپینڈنسیز۔ جو چیز وہ اچھی طرح نہیں پکڑتے وہ بزنس لاجک کی خامیاں ہیں — وہ قسم جہاں کوڈ کی ہر انفرادی لائن ٹھیک ہوتی ہے اور خامی دو فیچرز کے درمیان اس خلا میں ہوتی ہے جسے کسی نے ایک ساتھ چیک کرنے کا نہیں سوچا۔ ایک ڈسکاؤنٹ کوڈ جو ریفرل بونس کے ساتھ لامحدود طور پر اسٹیک ہو جائے۔ ایک پاسورڈ ری سیٹ فلو جو یہ ظاہر کر دے کہ کوئی ای میل سسٹم میں موجود ہے یا نہیں۔ ان کے لیے کسی ایسے شخص کی ضرورت ہوتی ہے جو یہ سمجھتا ہو کہ ایپ کس لیے ہے، صرف یہ نہیں کہ کوڈ کیا کرتا ہے، اور ابھی تک کوئی اسکینر — AI ہو یا کوئی اور — انہیں قابلِ اعتماد طریقے سے تلاش نہیں کر پاتا۔ خودکار جائزہ ایک فرش (floor) ہے، چھت (ceiling) نہیں۔

اور تھرڈ پارٹی پیکجز کا کیا معاملہ ہے جو یہ انسٹال کرتا ہے — کیا یہ سپلائی چین کا خطرہ ہے؟

ہاں، اور ایمانداری سے کہوں تو یہ خود AI کے لکھے کوڈ سے بھی بڑا حقیقی دنیا کا خطرہ ہے۔ زیادہ تر ایپس لائنوں کے حساب سے 80-95% ڈیپینڈنسیز پر مشتمل ہوتی ہیں؛ بلڈر جو کوڈ لکھتا ہے وہ npm، PyPI، یا جو بھی ایکو سسٹم اسٹیک استعمال کرتا ہے اس کے اوپر ایک باریک تہہ ہوتی ہے۔ ایک مہلک یا ہائی جیک شدہ پیکج آپ کو نقصان پہنچا سکتا ہے چاہے اس کے اردگرد کا کوڈ کسی نے بھی لکھا ہو — event-stream اور colors.js واقعات دیکھیں کہ یہ حقیقی دنیا میں کیسے ہوتا ہے۔ حل بورنگ اور مؤثر ہیں: تازہ ترین کو ٹریک کرنے کے بجائے ورژنز کو پن کریں، ایسے پیکجز کو ترجیح دیں جن کی حقیقی دیکھ بھال کی تاریخ ہو نہ کہ وہ جو پچھلے ہفتے شائع ہوئے، اور ڈیپینڈنسی آڈٹ (`npm audit`, `pip-audit`, جو بھی آپ کے اسٹیک کے مطابق ہو) کو لانچ سے پہلے کا ایک بار کا مرحلہ نہیں بلکہ ایک مستقل عادت بنائیں۔

خطرہکون متعارف کراتا ہےعام طور پر کیسے پکڑا جاتا ہےٹھیک کرنا کس کا کام ہے
جنریٹ شدہ کوڈ میں ہارڈ کوڈڈ سیکرٹبلڈ پراسیس، اگر سیکرٹس صحیح طرح انجیکٹ نہ ہوںاسٹیٹک اسکین، پری ڈیپلائے چیکپلیٹ فارم
غائب ان پُٹ ویلیڈیشنماڈل یا انسان، کوئی بھیخودکار + دستی کوڈ ریویودونوں
خطرناک ڈیپینڈنسی (CVE)اپ اسٹریم پیکج مینٹینرڈیپینڈنسی آڈٹآپ، مسلسل
بزنس لاجک کی خامی (اسٹیکنگ بگز، IDOR)جس نے فیچر کو نامکمل طور پر متعین کیادستی ٹیسٹنگ، عام طور پر صرف اگر کوئی دیکھےآپ
ایمبیڈڈ LLM فیچر میں پرامپٹ انجیکشنآپ کی شپ شدہ ایپ کے اینڈ یوزرزان پُٹ سینیٹائزیشن + محدود دائرہ کار ماڈل پرمیشنزآپ

بریچ ہونے کی صورت میں ذمہ دار کون ہے؟

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

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

کیا مجھے لانچ سے پہلے کسی حقیقی سیکیورٹی آڈٹ کے لیے ادائیگی کرنی چاہیے؟

اگر آپ پیمنٹس لے رہے ہیں، کوئی ایسی چیز اسٹور کر رہے ہیں جسے کوئی ریگولیٹر PII کہے گا، یا کسی ایسے بزنس کسٹمر کے لیے بنا رہے ہیں جو ویسے بھی SOC 2 رپورٹ مانگے گا — تو ہاں، اور لاگت آپ کو اس سے روکنے نہ دے۔ ایک چھوٹی ایپ پر ایک فوکسڈ آڈٹ دائرہ کار کے لحاظ سے چند سو سے کم ہزار ڈالر تک چلتا ہے، جو کہ کسی بریچ نوٹیفیکیشن لیٹر کے مقابلے میں سستا ہے۔ اگر آپ کوئی شوقیہ پروجیکٹ، اندرونی ٹول، یا کوئی ایسی چیز بنا رہے ہیں جس میں کوئی حقیقی صارف ڈیٹا داؤ پر نہیں لگا، تو ادائیگی شدہ آڈٹ ضرورت سے زیادہ ہے؛ اس کے بجائے مفت اور سستی تہہ چلائیں — ڈیپینڈنسی اسکیننگ، ہر اتھینٹیکیشن باؤنڈری کا دستی کلک تھرو (کیا صارف A کوئی URL بدل کر صارف B کی چیزیں دیکھ سکتا ہے؟)، اور کسی بھی چیز پر جو پیسے یا پاسورڈز کو چھوتی ہے دوسرے انسانی آنکھوں کا جائزہ۔

لوگوں کی سب سے عام سیکیورٹی غلطی کیا ہے، اور یہ کب ہوتی ہے؟

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

سیکیورٹی
شیئر کریںXLinkedInFacebookRedditQuoraWhatsAppTelegramای میل
← تمام پوسٹس