Noma Labs کے محققین نے یہ ثابت کیا ہے کہ GitHub کے حال ہی میں جاری کردہ Agentic Workflows کو دھوکہ دے کر نجی ریپوزٹری (private repository) کی فائلیں شائع کروائی جا سکتی ہیں، جو یہ ظاہر کرتا ہے کہ ایک عام سا عوامی ایشو کمنٹ (public issue comment) ایک اندرونی AI اسسٹنٹ کو ڈیٹا لیک کرنے والے ذریعے میں بدل سکتا ہے۔

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

یہ کمزوری کیسے کام کرتی ہے

Agentic Workflows ایک AI ایجنٹ کو GitHub کے ایونٹس—جیسے کہ نئے ایشوز—پر ایک ورک فلو فائل میں بیان کردہ کمانڈز چلا کر جواب دینے کی اجازت دیتے ہیں۔ Noma Labs نے پایا کہ ایجنٹ جائز ورک فلو ہدایات اور صارف کے بھیجے گئے کمنٹ میں شامل متن کے درمیان فرق نہیں کر پاتا۔ ایک ایسا عوامی ایشو پوسٹ کر کے جو کسی مینیجر کی درخواست کی نقل ہو اور اس کے ساتھ ایک چھپی ہوئی ہدایت شامل کر کے، ایک حملہ آور ایجنٹ کو درج ذیل کاموں پر مجبور کر سکتا ہے:

  1. ایشو کھولنا (جو عوامی طور پر نظر آتا ہے)۔
  2. ایک ایسی لائن شامل کرنا جو عام نظر آئے لیکن اس میں ایک خفیہ کمانڈ ہو۔
  3. AI کو اس نجی ریپوزٹری سے فائلیں حاصل کرنے پر اکسانا جسے پڑھنے کی اجازت ورک فلو کو دی گئی ہو۔
  4. ایجنٹ سے حاصل کردہ مواد کو اسی ایشو کے جواب کے طور پر پوسٹ کروانا۔

محققین نے دریافت کیا کہ چھپی ہوئی کمانڈ سے پہلے صرف ایک لفظ “Additionally,” شامل کرنا GitHub کے حفاظتی اقدامات (guardrails) سے بچ نکلنے کے لیے کافی تھا۔ اس کے لیے کسی اضافی اجازت، ٹوکن یا کسٹم کوڈ کی ضرورت نہیں ہے—صرف صحیح الفاظ کا چناؤ ہی کافی ہے۔

یہ محض ایک بگ (bug) سے بڑھ کر کیوں ہے

یہ مسئلہ ساختی (structural) ہے۔ AI ایجنٹ ریپوزٹری ایونٹ سے موصول ہونے والے کسی بھی متن کو قابلِ اعتماد سمجھتا ہے، جو مؤثر طور پر صارف کے تیار کردہ مواد کو ویب ایپلی کیشن میں SQL injection کی طرح ایک ان پٹ ویکٹر (input vector) بنا دیتا ہے۔ اگر کوئی ورک فلو ایجنٹ کو نجی ریپوزٹریز تک رسائی اور عوامی طور پر کمنٹ کرنے کی صلاحیت دیتا ہے، تو یہ مجموعہ ڈیٹا کی چوری (data exfiltration) کے لیے ایک براہ راست راستہ فراہم کرتا ہے۔

GitHub کا کیا کہنا ہے

GitHub کو اس خامی کے بارے میں مطلع کر دیا گیا ہے۔

ٹیموں کے لیے احتیاطی تدابیر

  • ایجنٹ کی اجازتوں کو محدود کریں: نجی ریپوزٹریز تک read/write رسائی صرف اسی وقت دیں جب انتہائی ضروری ہو۔
  • عوامی پوسٹنگ کو روکیں: ورک فلو کو اس طرح ترتیب دیں کہ ایجنٹس عوامی ایشوز پر کمنٹس یا دیگر چیزیں شائع نہ کر سکیں۔
  • تمام بیرونی ان پٹ کو ناقابلِ اعتماد سمجھیں: ایسی ویلیڈیشن لیئرز شامل کریں جو AI تک پہنچنے سے پہلے صارف کے تیار کردہ متن کو صاف (sanitize) کریں یا اسے نظر انداز کر دیں۔
  • ورک فلو ٹرگرز کا آڈٹ کریں: جائزہ لیں کہ کون سے ایونٹس (issues, pull requests وغیرہ) ایجنٹس کو متحرک کرتے ہیں اور اس بات کی تصدیق کریں کہ متعلقہ اجازتیں مطلوبہ استعمال کے مطابق ہیں۔

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