AI کوڈنگ سیکیورٹی: پرامپٹ انجیکشن آپ کی پروجیکٹ فائلوں میں چھپا ہوا ہے

آپ کا AI کوڈنگ اسسٹنٹ آپ کی ریپوزٹری (repository) کی ہر فائل پڑھتا ہے۔ یہ آپ کی README، آپ کی کنفیگ فائلوں اور آپ کے قوانین کو پڑھتا ہے۔ یہ کوڈ لکھنے کا فیصلہ کرنے کے لیے ان فائلوں کا استعمال کرتا ہے۔

ایک نیا سیکیورٹی خطرہ بالکل اسی طرزِ عمل کا فائدہ اٹھاتا ہے۔ محققین نے 28 مختلف AI کوڈنگ ٹولز میں ایک کمزوری (vulnerability) دریافت کی ہے۔ یہ حملہ کوئی پیچیدہ ہیکنگ نہیں ہے۔ یہ آپ کی ریپوزٹری میں موجود ایک سادہ سی ٹیکسٹ فائل ہے۔

حملہ کیسے کام کرتا ہے:

آپ ایک اوپن سورس پروجیکٹ کلون (clone) کرتے ہیں۔ یہ بالکل نارمل نظر آتا ہے۔ آپ اسے اپنے AI ایڈیٹر میں کھولتے ہیں اور ایک نئے فیچر کے لیے کہتے ہیں۔ آپ کنفیگریشن فائلوں میں چھپے ہوئے یونیکوڈ (Unicode) کریکٹرز کو نہیں دیکھ پاتے۔ یہ کریکٹرز ہدایات کو آپ سے چھپا دیتے ہیں لیکن AI کو کچھ اور کرنے کا حکم دیتے ہیں۔

چھپی ہوئی ہدایت AI کو آپ کے AWS credentials کسی بیرونی سرور پر بھیجنے کا حکم دیتی ہے۔ AI سمجھتا ہے کہ یہ پروجیکٹ کی ایک جائز ہدایت ہے۔ وہ اس کمانڈ کو چلا دیتا ہے۔ آپ کے خفیہ ڈیٹا (secrets) چوری ہو جاتے ہیں۔

اسے روکنا مشکل کیوں ہے:

  • چھپے ہوئے کریکٹرز: آپ کو عام ٹیکسٹ نظر آتا ہے، لیکن AI نظر نہ آنے والے یونیکوڈ کریکٹرز کے ذریعے نقصان دہ کمانڈز دیکھتا ہے۔
  • ہر فائل ایک داخلی راستہ (entry point) ہے: ایک README یا کسی لائبریری میں موجود کمنٹ بھی نقصان دہ مواد (payload) لے جا سکتا ہے۔
  • اعلیٰ اجازتیں (High permissions): AI ایجنٹس اکثر آپ کی یوزر پرمیشنز کے ساتھ چلتے ہیں۔ وہ آپ کی SSH keys اور API tokens پڑھ سکتے ہیں۔
  • ٹول کالز (Tool calls): AI کمانڈز چلانے کے لیے ٹول کالز کا استعمال کرتا ہے۔ یہ حملہ حفاظتی تربیت (safety training) کو نظر انداز کرنے کے لیے انہی کالز کو نشانہ بناتا ہے۔

اپنے ورک فلو کا دفاع کیسے کریں:

  • فائلوں کے مواد کو صاف کریں (Sanitize): AI کے پڑھنے سے پہلے چھپے ہوئے کریکٹرز اور عام انجیکشن پیٹرنز کو ختم کر دیں۔
  • سینڈ باکسز (Sandboxes) کا استعمال کریں: AI ایجنٹس کو ایسے کنٹینرز میں چلائیں جن کے پاس نیٹ ورک تک رسائی نہ ہو اور فائل سسٹم صرف پڑھنے کے لیے (read-only) ہو۔
  • سخت پالیسیاں بنائیں: اجازت یافتہ کمانڈز کی ایک وائٹ لسٹ (whitelist) بنائیں۔ ڈیٹا منتقل کرنے یا فائلیں حذف کرنے والی کسی بھی کمانڈ کے لیے انسانی منظوری لازمی قرار دیں۔

آپ اپنے کوڈنگ سیشنز سے پہلے ایک فوری اسکین چلا سکتے ہیں۔ اپنی فائلوں میں "ignore all previous" یا "curl" اور "exfil" جیسے مشکوک الفاظ تلاش کریں۔

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

آپ اپنے AI ورک فلو میں پرامپٹ انجیکشن کے خطرات سے کیسے نمٹ رہے ہیں؟

ماخذ: https://dev.to/tyson_cung/ai-coding-security-prompt-injection-is-hiding-in-your-project-files-4be9