𝗬𝗼𝘂𝗿 𝗥𝗲𝗽𝗼 𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝗜𝘀 𝗔𝗻 𝗔𝘁𝘁𝗮𝗰𝗸 𝗦𝘂𝗿𝗳𝗮𝗰𝗲 𝗡𝗼𝘄
AI کوڈنگ سیکیورٹی کا مطلب صرف ایک ماڈل کو خراب کوڈ لکھنے سے روکنا نہیں ہے۔
اصل خطرہ اس چیز میں ہے جو ایجنٹ لکھنے سے پہلے پڑھتا ہے۔ آپ کی ریپوزٹری (repository) اب صرف کوڈ کے لیے جگہ نہیں رہی، بلکہ یہ اب AI ایجنٹس کے لیے ایک ان پٹ اسٹریم بن چکی ہے۔
آپ کی ریپو میں موجود ہر چیز ایجنٹ کے لیے رہنمائی کا مواد (steering material) بن سکتی ہے:
- پرانی README فائلیں
- پرانے مائیگریشن نوٹس
- پرانی دستاویزات (outdated documentation)
- پروجیکٹ کے پوشیدہ طریقہ کار (hidden project conventions)
- مقامی ہدایات والی فائلیں
- ڈیپینڈینسی اسکرپٹس اور شیل ہکس (shell hooks)
ڈویلپرز اکثر ان فائلوں کو بے ضرر کباڑ سمجھ کر نظر انداز کر دیتے ہیں۔ ایک AI ایجنٹ سماجی سیاق و سباق (social context) کو نہیں دیکھتا۔ وہ صرف متن، ٹولز اور پیٹرنز دیکھتا ہے۔ اگر آپ کی دستاویزات پرانی یا بکھری ہوئی ہیں، تو ایجنٹ اس بکھراؤ کو ہی معیار (standard) سمجھ لے گا۔
خراب سیاق و سباق (Bad context) دو شکلوں میں آتا ہے:
- معمولی غلطیاں (Boring errors):
- پرانی سیٹ اپ ہدایات
- پرانے (deprecated) APIs استعمال کرنے والی مثالیں
- پرانے آرکیٹیکچر نوٹس
- مخالفانہ حملے (Adversarial attacks):
- فائلوں کے اندر پرامپٹ انجیکشن (Prompt injection)
- نقصان دہ ڈیپینڈینسی اسکرپٹس
- زہریلی (Poisoned) مثالیں جو کوڈ کو غیر محفوظ پیٹرنز کی طرف مائل کرتی ہیں
جب آپ کسی ایجنٹ کو ٹیسٹ چلانے، فائلیں تلاش کرنے یا پل ریکویسٹ (pull requests) کھولنے کا اختیار دیتے ہیں، تو آپ نقصان کے دائرہ کار (blast radius) کو بڑھا دیتے ہیں۔ ہک سسٹم (hook system) اب محض پیداواری صلاحیت بڑھانے والا ٹول نہیں رہا، بلکہ یہ آٹومیشن ہے۔ آپ کو اسے آٹومیشن کے طور پر ہی لینا چاہیے۔
اپنے ورک فلو (workflow) کے بارے میں یہ سوالات پوچھیں:
- ہک کو کون ایڈٹ کر سکتا ہے؟
- ایجنٹ کن انوائرمنٹ ویری ایبلز (environment variables) کو دیکھ سکتا ہے؟
- کیا ایجنٹ ڈویلپر کے کریڈنشلز (credentials) حاصل کر لیتا ہے؟
- کیا ٹول ریپو سے باہر کچھ لکھتا ہے؟
ایجنٹس کو جادوئی ٹیکسٹ باکسز نہ سمجھیں۔ انہیں ڈویلپر انفراسٹرکچر کے طور پر دیکھیں۔
اپنے ایجنٹک ورک فلو کو کیسے محفوظ بنائیں:
- دائرہ کار محدود کریں: اگر ایجنٹ کو صرف تین فائلوں کی ضرورت ہے تو اسے پورے پروجیکٹ تک رسائی نہ دیں۔
- سیاق و سباق صاف کریں: پرانی دستاویزات اور پرانی ہدایات کو حذف کریں یا درست کریں۔
- ایگزیکیوشن کو مضبوط بنائیں: پرخطر کاموں کو سینڈ باکس (sandbox) میں چلائیں۔ کریڈنشلز کو محدود (scoped) رکھیں۔
- شفافیت کا مطالبہ کریں: بالکل جان لیں کہ ایجنٹ نے کیا پڑھا، کون سے ٹولز استعمال کیے، اور کون سی کمانڈز چلائیں۔
ایک AI ایجنٹ شیل ایکسیس (shell access) اور تیز ٹائپنگ اسپیڈ رکھنے والے ایک جونیئر ڈویلپر کی طرح ہے۔ آپ پہلے ہی دن کسی نئے جونیئر ڈویلپر کو پروڈکشن کے مکمل کریڈنشلز نہیں دیں گے۔ آپ اسے چھوٹے کام، صاف ستھرا سیاق و سباق اور محدود اجازتیں دیں گے۔
اپنے ایجنٹس کے ساتھ بھی اسی طرح کا سلوک کریں۔
Source: https://dev.to/hefty_69a4c2d631c9dd70724/your-repo-context-is-an-attack-surface-now-5dhj
Optional learning community: https://t.me/GyaanSetuAi