میں نے Claude Code کو چابیاں دے دیں۔ ایک ورم نے بھی یہی کیا۔
AI کوڈنگ ایجنٹس کو جیل بریک (jailbreak) نہیں کیا جا رہا۔ وہ بالکل وہی کر رہے ہیں جس کے لیے آپ نے انہیں بنایا ہے۔ وہ کمانڈز چلانے کے لیے آپ کے کریڈنشلز (credentials) استعمال کرتے ہیں۔ مسئلہ یہ ہے کہ حملہ آور ان پٹ فراہم کر سکتے ہیں۔
حالیہ کمزوریاں اس بات کے تین مختلف طریقے ظاہر کرتی ہیں۔
- سپلائی چین ورم (The Supply Chain Worm)
Mini Shai-Hulud نامی ایک ورم نے 170 سے زیادہ پیکیجز کو متاثر کیا۔ یہ صرف چابیاں چوری کر کے نہیں جاتا، بلکہ خود کو آپ کی کنفیگ فائلوں (config files) میں لکھ دیتا ہے۔ یہ
.vscode/tasks.jsonیا.claude/settings.jsonمیں چھپ جاتا ہے۔ جب آپ کوئی فولڈر کھولتے ہیں یا سیشن شروع کرتے ہیں تو یہ فائلیں خودکار طور پر کوڈ چلاتی ہیں۔ اگر آپ خراب پیکیج کو حذف بھی کر دیں، تب بھی نقصان دہ ہک (malicious hook) آپ کی ڈسک پر موجود رہتا ہے۔
- سپلائی چین ورم (The Supply Chain Worm)
Mini Shai-Hulud نامی ایک ورم نے 170 سے زیادہ پیکیجز کو متاثر کیا۔ یہ صرف چابیاں چوری کر کے نہیں جاتا، بلکہ خود کو آپ کی کنفیگ فائلوں (config files) میں لکھ دیتا ہے۔ یہ
- الاؤ لسٹ بائی پاس (The Allowlist Bypass)
Cursor ایڈیٹر آٹو رن (auto-run) کو محفوظ بنانے کے لیے ایک الاؤ لسٹ (allowlist) استعمال کرتا ہے۔ حملہ آوروں نے
exportجیسے شیل بلٹ ان (shell built-ins) کا استعمال کرتے ہوئے اسے نظر انداز کرنے کا طریقہ ڈھونڈ لیا ہے۔ پرامپٹ انجیکشن (prompt injection) کے ذریعے، ایک حملہ آور ایجنٹ کو ایک زہریلا انوائرمنٹ ویری ایبل (environment variable) سیٹ کرنے پر مجبور کر سکتا ہے۔ اس سے ایک منظور شدہ کمانڈ اس طرح کام کرنے لگتی ہے جس کا آپ نے کبھی ارادہ نہیں کیا تھا۔ سیکیورٹی کنٹرول اس لیے ناکام ہوا کیونکہ اسے انسانوں کے لیے بنایا گیا تھا، مشینوں کے لیے نہیں۔
- الاؤ لسٹ بائی پاس (The Allowlist Bypass)
Cursor ایڈیٹر آٹو رن (auto-run) کو محفوظ بنانے کے لیے ایک الاؤ لسٹ (allowlist) استعمال کرتا ہے۔ حملہ آوروں نے
- پروٹوکول کی خامی (The Protocol Flaw)
mcp-remoteپراکسی میں کمانڈ انجیکشن کی ایک سنگین خامی ہے۔ اگر آپ کسی نقصان دہ MCP سرور سے منسلک ہوتے ہیں، تو یہ ہینڈ شیک (handshake) کے دوران آپ کی مشین پر کمانڈز چلا سکتا ہے۔ ایسا اس لیے ہوتا ہے کیونکہ کلائنٹ اس سرور پر بھروسہ کرتا ہے جس سے وہ رابطہ کرتا ہے۔
- پروٹوکول کی خامی (The Protocol Flaw)
بنیادی مسئلہ سادہ ہے۔ ایک کوڈنگ ایجنٹ ڈیٹا اور کمانڈز کے درمیان فرق کو ختم کر دیتا ہے۔ ایک LLM ہدایات اور بیرونی ڈیٹا کو ایک ہی چیز سمجھتا ہے۔ آپ جو کہتے ہیں اور دنیا ایجنٹ سے جو کہتی ہے، ان کے درمیان کوئی حد نہیں رہتی۔
خود کو کیسے محفوظ رکھیں:
- اپنے انوائرمنٹ ویری ایبلز میں طویل مدتی چابیوں کے بجائے مختصر مدتی ٹوکنز (short-lived tokens) استعمال کریں۔
- کسی بھی ایسے ٹاسک کے لیے آٹو رن کو بند کر دیں جو سیکرٹس (secrets) یا پروڈکشن (production) سے متعلق ہو۔
- اپنی کنفیگ فائلوں جیسے
.claude/settings.jsonپر غیر متوقع تبدیلیوں کے لیے نظر رکھیں۔ - پروویننس اٹیسٹیشنز (provenance attestations) کو اصل ہونے کے ثبوت کے طور پر لیں، نہ کہ حفاظت کے ثبوت کے طور پر۔
- اپنی ڈیپینڈینسیز (dependencies) کو مخصوص ہیشز (hashes) پر پن (pin) کریں۔
اپنے AI ایجنٹ کے ساتھ کسی بھی دوسرے ہائی پر ویلیج پروسیس (high-privilege process) کی طرح سلوک کریں۔ اسے سخت حدود کی ضرورت ہے۔
اگر آپ ایجنٹس کو آٹو رن موڈ میں چلاتے ہیں، تو آپ کیسے فیصلہ کرتے ہیں کہ اسے کب کام کرنے دینا ہے اور کب روکنا ہے؟
Source: https://dev.to/kkierii/i-gave-claude-code-the-keys-so-did-a-worm-34a4
اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi