میں نے ایک ایسا AI Incident Copilot بنایا ہے جو آپ کے لاگز (logs) محفوظ نہیں کرتا
ہر انجینئر یہی کرتا ہے۔
پروڈکشن (production) میں کچھ خراب ہو جاتا ہے۔ آپ لاگز حاصل کرتے ہیں۔ آپ انہیں AI چیٹ میں پیسٹ کرتے ہیں۔ آپ مدد مانگتے ہیں۔ AI ایک اچھا جواب دیتا ہے۔
زیادہ تر لوگ سمجھتے ہیں کہ یہ معمول کی بات ہے۔ ایسا نہیں ہے۔ یہ سیکیورٹی کا ایک بڑا خطرہ ہے۔
پروڈکشن لاگز میں حساس ڈیٹا ہوتا ہے۔ ان میں کسٹمر آئی ڈیز (customer IDs)، آتھ ایررز (auth errors)، اسٹیک ٹریسز (stack traces) اور API رسپونسز ہوتے ہیں۔ کبھی کبھی ان میں خفیہ معلومات (secrets) بھی ہوتی ہیں۔
ڈی بگ (debug) کرنے کا موجودہ طریقہ یہ ہے کہ نجی ڈیٹا کو چیٹ باکس میں پیسٹ کر دیں اور بہتر کی امید رکھیں۔ میں ڈیٹا لیک ہونے کے خطرے کے بغیر AI کی مدد چاہتا تھا۔
چنانچہ میں نے ایک AI incident copilot بنایا۔ میں نے ایک اصول پر عمل کیا: ایپ کو کارآمد ہونا چاہیے، چاہے ہم آپ کا ڈیٹا محفوظ کرنے سے انکار ہی کیوں نہ کر دیں۔
یہ ایپ ایک AI war room کے طور پر کام کرتی ہے۔ آپ لاگز، ٹریسز یا ایررز پیسٹ کرتے ہیں۔ یہ آپ کی مدد کرتا ہے:
• تبدیلیوں کا خلاصہ کرنا • ناکامی کے مقامات تلاش کرنا • شور والے (noisy) لاگز کو گروپ کرنا • اسٹیک ٹریسز کی وضاحت کرنا • بچاؤ کے اقدامات تجویز کرنا • پوسٹ مارٹم ٹائم لائنز کا خاکہ تیار کرنا
زیادہ تر ڈویلپرز اس طرح کی ایپس بناتے ہیں: Input → Backend → Database → LLM → Database → UI۔
یہ بنانے کا ایک خطرناک طریقہ ہے۔ اب آپ کی ایپ ہر پروڈکشن کی ناکامی کا ایک آرکائیو (archive) رکھتی ہے۔ آپ کو ڈیٹا کی خلاف ورزیوں (breaches)، بیک اپس اور ایڈمن رسائی کے بارے میں فکر مند رہنا پڑتا ہے۔
میں ایک نجی اسکریچ پیڈ (private scratchpad) چاہتا تھا، نہ کہ کوئی SaaS ڈیش بورڈ۔
میرا ڈیزائن کا اصول ہے: ڈیٹا پر کارروائی کریں، اسے جمع نہ کریں۔
اس کا آرکیٹیکچر مختلف طریقے سے کام کرتا ہے:
- چیٹ کی ہسٹری آپ کے براؤزر میں رہتی ہے۔
- بیک اینڈ پرامپٹس (prompts) کو محفوظ نہیں کرتا۔
- بیک اینڈ ماڈل کے جوابات کو محفوظ نہیں کرتا۔
- ہر درخواست عارضی (disposable) ہوتی ہے۔
میں نے Icelake AI API استعمال کی کیونکہ یہ اس پرائیویسی ماڈل کے مطابق ہے۔ سرور تین مراحل مکمل کرتا ہے:
- حساس ویلیوز کو ریڈیکٹ (redact) کرتا ہے۔
- API کو ایک مختصر پرامپٹ بھیجتا ہے۔
- درخواست کو محفوظ کیے بغیر جواب واپس کرتا ہے۔
ریڈیکشن (Redaction) مدد کرتی ہے، لیکن یہ کوئی جادوئی ڈھال نہیں ہے۔ یہ ہر چیز کو نہیں پکڑ سکے گی۔ اصل کامیابی یہ ہے کہ درخواست ختم ہونے کے بعد آپ کتنا ڈیٹا اپنے پاس رکھتے ہیں اسے کم کیا جائے۔
ریڈیکشن کال کے دوران خطرہ کم کرتی ہے۔ لاگز کو محفوظ نہ کرنا ہمیشہ کے لیے خطرہ کم کر دیتا ہے۔
زیادہ تر AI ایپس پوچھتی ہیں: ہم کیا جمع کر سکتے ہیں؟ یہ ایپ پوچھتی ہے: ہم کیا جمع کرنے سے بچ سکتے ہیں؟
یہ طریقہ کار پروڈکٹ کو بہتر بناتا ہے۔ صارفین محفوظ محسوس کرتے ہیں۔ وہ حقیقی واقعات کے دوران اسے استعمال کرنے کے لیے تیار ہوتے ہیں کیونکہ وہ جانتے ہیں کہ ان کے خیالات میرے ڈیٹا بیس میں محفوظ نہیں کیے جا رہے۔
AI ایپس کی اگلی لہر کو صرف اس بات پر مقابلہ نہیں کرنا چاہیے کہ وہ کتنی ذہین ہیں۔ انہیں ضبط (restraint) پر مقابلہ کرنا چاہیے۔
خود سے پوچھیں: • آپ کس چیز کو محفوظ کرنے سے انکار کرتے ہیں؟ • آپ اپنے لیے کس چیز تک رسائی کو ناممکن بناتے ہیں؟ • سیشن ختم ہونے پر کیا غائب ہو جاتا ہے؟
AI ٹولز اس لیے کارآمد ہونے چاہئیں کیونکہ وہ سب کچھ یاد نہیں رکھتے۔
Optional learning community: https://t.me/GyaanSetuAi
