AI کوڈ اسسٹنٹ ایسے پیکیج کے نام بتا رہے ہیں جن کا کوئی وجود نہیں ہے، اور حملہ آور ان وہموں (hallucinations) کو حقیقی سپلائی چین خطرات میں بدل رہے ہیں۔
جب Lasso Security کے سیکیورٹی محقق Bar Lanyado نے ایک AI سے چلنے والے کوڈنگ ٹول سے Python کلائنٹ کے بارے میں پوچھا، تو ماڈل نے huggingface-cli انسٹال کرنے کا مشورہ دیا۔ یہ پیکیج محض ایک وہم ہے؛ اصل لائبریری huggingface_hub کے نام سے موجود ہے۔ خطرے کو ثابت کرنے کے لیے، Lanyado نے اس جعلی نام کو Python Package Index (PyPI) پر ایک خالی پلیس ہولڈر کے طور پر رجسٹر کر دیا۔ تین ماہ کے اندر، اس پلیس ہولڈر نے 30,000 سے زیادہ ڈاؤن لوڈز حاصل کیے، عوامی دستاویزات میں نظر آیا اور یہاں تک کہ Alibaba کے ریپوزٹریز سے حاصل کردہ کوڈ کے نمونوں میں بھی دکھائی دیا۔
ایک فرضی پیکیج حقیقی خطرہ کیسے بن جاتا ہے
- Prompt → hallucination – ایک ڈویلپر AI سے مدد مانگتا ہے۔ ماڈل، جو انٹرنیٹ کے غیر مستند ڈیٹا پر تربیت یافتہ ہے، ایک ایسا پیکیج کا نام ایجاد کر دیتا ہے جو سننے میں درست معلوم ہوتا ہے۔
- Copy-paste → documentation – یہ مشورہ کسی README، Stack Overflow کے جواب، یا کسی اندرونی ویکی (wiki) میں شامل ہو جاتا ہے۔ ایک بار لکھے جانے کے بعد، یہ نام کمیونٹی میں پھیل جاتا ہے۔
- Code integration – ڈویلپر، AI پر بھروسہ کرتے ہوئے، اس نام کو requirements فائل میں شامل کر دیتا ہے اور اسے پروڈکشن (production) میں بھیج دیتا ہے۔
موجودہ دفاعی نظام اس مسئلے کو کیوں نہیں پکڑ پاتے
Static analysis ٹولز اور vulnerability scanners معلوم CVEs اور ایسی لائبریریوں کی تلاش کرتے ہیں جن کی ریلیز کی تاریخ موجود ہو۔ AI کے مشورے سے پہلے زیرو ڈاؤن لوڈز کے ساتھ حال ہی میں شائع ہونے والا پیکیج نہ تو CVE رکھتا ہے، نہ ہی اس کی کوئی ساکھ ہوتی ہے، اس لیے وہ بالکل محفوظ نظر آتا ہے۔ معیاری "کیا یہ ورژن کمزور ہے؟" والا چیک 'غلط' (false) نتیجہ دیتا ہے، جس سے ڈویلپرز کو تحفظ کا ایک غلط احساس ہوتا ہے۔
یہ تجربہ کیا ثابت کرتا ہے
- AI کے ایجاد کردہ نام پروڈکشن تک پہنچ جاتے ہیں – 30,000 سے زیادہ ڈاؤن لوڈز یہ ظاہر کرتے ہیں کہ ڈویلپرز حقیقت میں ان فرضی پیکیجز کو ڈاؤن لوڈ کر رہے ہیں۔
- وہم (Hallucinations) دستاویزات بن جاتے ہیں – ایک بار جب کوئی جعلی نام کسی عوامی گائیڈ میں آ جائے، تو یہ غیر معینہ مدت تک برقرار رہ سکتا ہے، جس سے غلطی پھیلتی رہتی ہے۔
- رجسٹریشن انتہائی آسان ہے – PyPI پر پیکیج شائع کرنے میں کوئی خرچ نہیں آتا اور اس میں صرف چند منٹ لگتے ہیں، جس سے سپلائی چین کے غلط استعمال کی راہ آسان ہو جاتی ہے۔
دفاعی اقدامات جو حقیقت میں کام کرتے ہیں
- ہر dependency کی تصدیق کریں – کوئی نئی ضرورت (requirement) شامل کرنے سے پہلے، پیکیج انڈیکس میں تلاش کریں اور اس بات کی تصدیق کریں کہ نام کسی موجودہ اور دستاویزی لائبریری سے مطابقت رکھتا ہے۔
- سرکاری ذرائع سے کراس چیک کریں – تجویز کردہ نام کا موازنہ وینڈر (vendor) کی ریپوزٹری یا آفیشل انسٹالیشن گائیڈ سے کریں۔
- کم استعمال ہونے والے نئے پیکیجز کو زیادہ خطرے کے طور پر لیں – کسی بھی ایسی dependency کو مینوئل ریویو (manual review) کے لیے نشان زد کریں جس کے ڈاؤن لوڈز چندتوں میں ہوں یا جس کی ریلیز کی تاریخ بہت حالیہ ہو۔
آگے کس چیز پر نظر رکھنی ہے
اس کا خلاصہ سادہ ہے: AI کا مشورہ کوئی ضمانت نہیں ہے۔ ہر نئی dependency کو ایک غیر تصدیق شدہ تھرڈ پارٹی کمپوننٹ کے طور پر لیں، اس کے ماخذ (provenance) کی تصدیق کریں، اور کسی فرضی پیکیج کو پروڈکشن میں شامل کرنے سے پہلے سپلائی چین پر نظر رکھیں۔
