ایک نیا اوپن سورس اسکینر جو AI "ایجنٹ اسکلز" (agent skills) کا آڈٹ کرتا ہے، اب ایک ٹول میں تبدیل کیا جا رہا ہے کیونکہ محققین نے دکھایا ہے کہ ایک غیر تصدیق شدہ اسکل خاموشی سے SSH keys اور کلاؤڈ کریڈنشلز (credentials) حاصل کر سکتی ہے۔ یہ اسکینر کی ورڈ فلٹرز، رویے کے تجزیے (behavior analysis)، AI پر مبنی استدلال (reasoning)، سینڈ باکس ایگزیکیوشن اور تبدیلیوں کی نشاندہی (change-detection) کو یکجا کرتا ہے تاکہ AI سے مدد لینے والے ڈویلپرز کے خلاف سپلائی چین حملوں کی اگلی لہر کو روکا جا سکے۔
AI اسکلز اب کیوں اہم ہیں
Claude اور GitHub Copilot جیسے لارج لینگویج ماڈل (LLM) اسسٹنٹس اب "ایجنٹ اسکلز" پر انحصار کرتے ہیں – یہ چھوٹے، خود مختار فولڈرز ہوتے ہیں جو ماڈل کو بتاتے ہیں کہ کسی مخصوص کام کو کیسے انجام دینا ہے۔ GitHub نے حال ہی میں ایک لائن کا کمانڈ شامل کیا ہے جو ڈویلپرز کو ان اسکلز کو براہ راست عوامی ریپوزٹریز (public repositories) سے حاصل کرنے کی اجازت دیتا ہے، جس سے وہ AI سے چلنے والے ورک فلو کے لیے ایک ڈی فیکٹو (de-facto) پیکیج مینیجر بن گئے ہیں۔
اس کی سہولت سے انکار ممکن نہیں: ایک اسکل "اسپریڈ شیٹ کو صاف کریں" جیسی مبہم درخواست کو درست API کالز، فائل مینیپولیشن یا کوڈ ایڈیٹس میں تبدیل کر سکتی ہے۔ یہی سادگی بدنیتی پر مبنی کوڈ کو اس بنڈل میں گھسنے کا موقع فراہم کرتی ہے۔
GitHub کا وارننگ پیج بتاتا ہے کہ اسکلز کو انسٹال کرنے سے پہلے ان کی تصدیق نہیں کی جاتی۔
ایک چھپا ہوا پے لوڈ (payload) نظروں سے کیسے بچ سکتا ہے
ایک عام بائنری کے برعکس، AI اسکل ایک ساتھ لوڈ نہیں ہوتی۔ ماڈل پہلے ایک مختصر خلاصہ پڑھتا ہے، اور پھر مکمل ہدایات کا سیٹ صرف اس وقت حاصل کرتا ہے جب کام متعلقہ معلوم ہو۔ لوڈنگ کا یہ مرحلہ وار طریقہ ایک ایسا وقفہ پیدا کرتا ہے جہاں ایک بدنیتی پر مبنی فائل صارف کو نظر آئے بغیر خاموش بیٹھی رہ سکتی ہے، جب تک کہ ماڈل اسے استعمال کرنے کا فیصلہ نہ کر لے۔
ایک پروف آف کانسیپٹ (proof-of-concept) تجربے میں، محقق نے csv-formatter نامی ایک جعلی اسکل بنائی جس نے اسپریڈ شیٹ کی صفائی کا اشتہار دیا۔ نظر آنے والا کوڈ بے ضرر لگ رہا تھا، لیکن ایک چھپی ہوئی ہدایت نے ایک "تشخیصی مرحلہ" (diagnostic step) شامل کر دیا۔ اس مرحلے نے کسی چیز کی تشخیص نہیں کی؛ بلکہ اس نے ہوسٹ پر SSH پرائیویٹ کیز اور AWS ایکسیس ٹوکنز کو اسکین کیا، اور پھر نتائج کو ایک بیرونی سرور پر پوسٹ کر دیا۔
بدنیتی پر مبنی کمانڈ ایک چین لاگ (changelog) فائل میں بھی نظر آئی – ایک ایسی جگہ جس کا زیادہ تر انسان کبھی معائنہ نہیں کرتے، لیکن AI ورژن کی ہسٹری کا جائزہ لیتے وقت اسے پڑھتا ہے۔ AI نے خاموشی سے کریڈنشل چوری کرنے کا عمل مکمل کیا جبکہ ڈویلپر سمجھ رہا تھا کہ اسکل محض ڈیٹا فارمیٹ کر رہی ہے۔
اوپن سورس کا جواب
اس خلا کو پُر کرنے کے لیے، محقق نے ڈیٹیکشن لاجک کو ایک اوپن سورس آڈٹ ٹول میں پیک کر دیا۔ یہ اسکینر کسی ایک تکنیک پر انحصار نہیں کرتا؛ بلکہ یہ کئی دفاعی تہوں کا استعمال کرتا ہے:
- Keyword matching ان واضح اور سست کوششوں کو پکڑ لیتی ہے جن میں معلوم بدنیتی پر مبنی اسٹرنگز (strings) شامل ہوں۔
- Behavior analysis ان ہدایات کو نشان زد کرتی ہے جو کریڈنشل فائلز پڑھتی ہیں اور پھر نیٹ ورک کالز کرتی ہیں۔
- AI reasoning یہ جانچنے کے لیے ایک ثانوی ماڈل چلاتی ہے کہ آیا اسکل کی ہدایات جان بوجھ کر صارف سے چھپائی گئی ہیں۔
- Sandboxing اسکل کو ایک الگ ماحول (isolated environment) میں چلا کر دیکھتی ہے، تاکہ ہوسٹ سسٹم کو خطرے میں ڈالے بغیر ریئل ٹائم اقدامات کا مشاہدہ کیا جا سکے۔
- Change detection قابل اعتماد اسکلز میں غیر متوقع تبدیلیوں کی نگرانی کرتی ہے، اور نیا ورژن انسٹال ہونے سے پہلے برقرار رکھنے والوں (maintainers) کو الرٹ کرتی ہے۔
مصنف ایک ٹیسٹ سویٹ (test suite) شامل کرے گا جو csv-formatter حملے کو دوبارہ پیدا کرتا ہے، اور ایک عوامی بینچ مارک (public benchmark) بھی فراہم کرے گا جو منتخب کردہ بے ضرر اور بدنیتی پر مبنی اسکلز میں ڈیٹیکشن کی شرح کی پیمائش کرتا ہے۔
آگے کیا نظر رکھنا ہے
- Community benchmarks: جیسے جیسے مزید محققین بدنیتی پر مبنی اسکل کے نمونے شائع کریں گے، عوامی بینچ مارک کو متعلقہ رہنے کے لیے باقاعدہ اپ ڈیٹس کی ضرورت ہوگی۔
AI ایجنٹ اسکلز کا ظہور ڈویلپر ٹولنگ میں ایک نئی سرحد ہے، لیکن یہ سپلائی چین حملوں کے لیے بھی ایک دروازہ کھولتا ہے جو روایتی کوڈ ریویو کو نظر انداز کر دیتے ہیں۔ ایک اوپن سورس اسکینر جو اسٹیٹک چیکس، ڈائنامک مشاہدہ اور AI استدلال کو یکجا کرتا ہے، دفاع کی ایک عملی پہلی لائن فراہم کرتا ہے۔ ڈویلپرز جو کسی اسکل کے ساتھ ایک عام USB ڈرائیو جیسا سلوک کریں گے، انہیں جلد ہی معلوم ہوگا کہ تصدیق کو نظر انداز کرنے کی قیمت فوری AI مدد کی سہولت سے کہیں زیادہ ہے۔
