ہر پلیٹ فارم کہتا ہے کہ وہ سیکیورٹی کو سنجیدگی سے لیتا ہے۔ کوئی بھی بریچ کے بعد کی رپورٹ میں یہ نہیں کہتا — تب ہی وہ آخرکار صفتوں کے بجائے آرکیٹیکچر بیان کرتے ہیں۔ تو چلیں سیدھا آرکیٹیکچر پر آتے ہیں۔ ٹیننٹ آئسولیشن سمجھانے کا سب سے آسان طریقہ ان تین غلطیوں پر بات کرنا ہے جو ٹیمیں عام طور پر کرتی ہیں، اور جب وہ کرتی ہیں تو کیا ٹوٹتا ہے۔
غلطی نمبر ایک: ایپلیکیشن کوڈ میں ٹیننٹ آئی ڈی کے ذریعے فلٹر کرنا
یہ ڈیفالٹ اس لیے ہے کیونکہ یہ لکھنے میں سب سے واضح بات لگتی ہے: ہر کوئری کو ایک WHERE user_id = ? شق ملتی ہے، اور جب تک ہر ڈویلپر اسے یاد رکھے، ہر درخواست اپنی حدود کے اندر رہتی ہے۔ تباہی بعد میں سامنے آتی ہے، جب کوڈ بیس میں چار سو اینڈ پوائنٹس ہوں چار کے بجائے۔ کوئی ایک رپورٹنگ کوئری بناتا ہے جو دو ٹیبلز کو جوڑتی ہے اور دوسری ٹیبل پر فلٹر لگانا بھول جاتا ہے۔ کوئی اور "صرف اندرونی استعمال کے لیے" ایک ایڈمن ٹول بناتا ہے جو بغیر کسی ٹیننٹ اسکوپنگ کے کوئری کرتا ہے، کیونکہ اس وقت یہ محفوظ لگتا تھا۔ کوئی بھی غلطی کسی ٹیسٹ کو نہیں پکڑتی، کیونکہ کوئری پھر بھی درست رو واپس کرتی ہے — بس غلط ٹیننٹ کی درست رو۔
ہم اس بات پر انحصار نہیں کرتے کہ ہر کوئری شائستگی سے پوچھنا یاد رکھے۔ رو-لیول سیکیورٹی ڈیٹابیس لیئر پر نافذ کی جاتی ہے، تاکہ ڈیٹابیس خود کسی دوسرے ٹیننٹ کی رو واپس کرنے سے انکار کر دے، چاہے کالنگ کوڈ نے کچھ بھی مانگا ہو۔ ریکویسٹ پاتھ میں کہیں کوئی مراعات یافتہ بائی پاس بھی نہیں ہوتا — پالیسی ہمیشہ لاگو ہوتی ہے، بشمول ان راستوں کے جنہیں ہم قابلِ اعتماد سمجھنے کے لالچ میں آتے۔
غلطی نمبر دو: سینڈ باکس کو حد کے بجائے آپٹیمائزیشن سمجھنا
یہاں ایجنٹس اصل کوڈ چلاتے ہیں — یہی اس پروڈکٹ کا مقصد ہے — اور آسان راستہ یہ ہے کہ اس کوڈ کو کہیں سہولت سے چلا دیا جائے اور "جب فرصت ملے" اسے محفوظ بنایا جائے۔ اس صورت میں تباہی یوں ظاہر ہوتی ہے کہ بلڈ کے دوران کوئی سمجھوتہ شدہ ڈیپینڈنسی انٹرنیٹ تک رسائی حاصل کر لے، یا ایک ٹیننٹ کا ایجنٹ رن ایسی فائلیں پڑھ لے جو کسی دوسرے ورک اسپیس کی ہوں، کیونکہ فائل سسٹم پہلے سے مشترک تھا اور صرف استثنا کی صورت میں محدود کیا جاتا تھا۔
اس کے بجائے ایجنٹ ورک لوڈز الگ تھلگ ماحول میں چلتے ہیں:
- محفوظ اور بند فائل سسٹمز۔
- نیٹ ورک ایگریس جو کھلا دروازہ نہیں بلکہ اجازت یافتہ فہرست ہے۔
آپ کی بلڈ پر کام کرنے والا ایجنٹ صرف آپ کا ورک اسپیس دیکھتا ہے، بس۔ ناقابلِ اعتماد کوڈ — بشمول آپ کی اپنی ایپ کی بلڈز — کنٹینرز کے اندر کمپائل ہوتا ہے جہاں آئسولیشن ساختی ہے، نہ کہ کوئی سیٹنگ جسے کسی نے یاد رکھ کر آن کیا ہو۔
غلطی نمبر تین: کریڈینشلز ایجنٹ کے حوالے کر دینا
یہ سب سے باریک غلطی ہے، اور میرا اندازہ ہے کہ سب سے زیادہ ٹیمیں اسی میں پھنستی ہیں۔ اگر ایجنٹ کو آپ کے ہوسٹ پر ڈپلائے کرنا ہو یا آپ کے اسٹور پر پوسٹ کرنا ہو، تو سب سے آسان راستہ یہ ہے کہ OAuth ٹوکن یا SSH کی اس کے کانٹیکسٹ میں ڈال کر اسے استعمال کرنے دیا جائے۔ یہی سب سے آسان راستہ تباہی کی طرف بھی ہے: کوئی پرامپٹ-انجیکٹڈ ہدایت، کوئی خیالی کارروائی، یا کوئی کریڈینشل جو کہیں ٹرانسکرپٹ لاگ میں پڑا رہ جائے جہاں اسے نہیں ہونا چاہیے۔ اس کے غلط ہونے کے لیے ایجنٹ کا بدنیت ہونا ضروری نہیں — بس ایک بار غلط ہو جانا کافی ہے، وہ بھی اصل کیز کے ساتھ۔
چنانچہ ایجنٹ کبھی کیز اپنے پاس نہیں رکھتا۔ جڑے ہوئے کریڈینشلز آپ کے ٹیننٹ تک محدود ذخیرہ کیے جاتے ہیں اور صرف اسی کارروائی کے لیے استعمال ہوتے ہیں جس کے لیے آپ نے انہیں جوڑا تھا:
- اسٹور اکاؤنٹس
- سوشل OAuth ٹوکنز
- ڈپلائے کیز
- گوگل سروس اکاؤنٹس
جب کسی ایجنٹ کو ڈپلائے یا اپ لوڈ کرنا ہو، تو وہ پلیٹ فارم سے یہ کرنے کی درخواست کرتا ہے؛ پلیٹ فارم کریڈینشل اپنے پاس رکھتا ہے اور کارروائی خود انجام دیتا ہے۔ ایجنٹ کبھی وہ سیکرٹ نہیں دیکھتا جسے وہ استعمال کروانے کی درخواست کر رہا ہے۔ اور اینالیٹکس کے معاملے میں، جہاں گوگل پراپرٹیز کبھی کبھار متعدد سائٹس کے درمیان مشترک ہوتی ہیں، ہر GA4 پُل ہوسٹ نیم کے لحاظ سے فلٹر کی جاتی ہے تاکہ آپ کا ڈیش بورڈ غلطی سے کسی اور کے اعداد و شمار نہ دکھائے، چاہے بنیادی پراپرٹی کئی ڈومینز کے لیے ڈیٹا اکٹھا کرتی ہو۔
کچھ بھی شائع ہونے سے پہلے اصل میں کیا چیک کیا جاتا ہے
اس پلیٹ فارم میں ہر جگہ دو اصول لاگو ہوتے ہیں، اور یہاں یہ سب سے زیادہ اہمیت رکھتے ہیں:
- ایجنٹس آپ کے پیسے خرچ نہیں کر سکتے۔
- ایجنٹس آپ کی طرف سے پوسٹ نہیں کر سکتے۔
ان دونوں کے لیے آپ کا کلک ضروری ہے۔ اس کا مطلب ہے کہ کسی بھی خودکار جزو کا بدترین دن بھی آپ کی جیب یا آپ کی ساکھ کو متاثر نہیں کر سکتا — نقصان کا دائرہ ایجنٹ کی سمجھ بوجھ سے نہیں بلکہ ڈیزائن سے محدود ہے۔ ڈیٹا کی برقراری اور حذف کرنے کی مکمل تفصیلات پرائیویسی پالیسی میں موجود ہیں؛ حذف کرنے کی درخواستیں 30 دن کے اندر مؤثر ہو جاتی ہیں۔



