حقن الأوامر عبر مهارات Claude Code: كيف تفحص الإضافة قبل تثبيتها
هل تستخدم مهارات من جهات خارجية في Claude Code أو أدوات ذكاء اصطناعي مشابهة؟ المهارة ليست مجرد ملف MD يحتوي على تعليمات، بل قد تكون شيفرة تنفيذية تعمل بكامل صلاحيات المستخدم. ويوضح مطوّر على Habr أن مهاجمًا يستطيع، عبر مهارة OSS خبيثة، قراءة رموز API ومفاتيح SSH وسجل المحادثات دون أن يلاحظ أحد. نستعرض ما ينبغي فحصه تحديدًا قبل تثبيت أي إضافة.
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
نشر مطوّر على Habr في يوليو 2026 دليلًا عمليًا لأمان مهارات OSS في أدوات الذكاء الاصطناعي، وشرح فيه لماذا تُعدّ المهارة الخبيثة أخطر من حقن الأوامر (prompt-injection) المعتاد: فهي تعمل بصلاحيات المستخدم ودون أي عزل.
لماذا لا تُعدّ المهارة مجرد موجّه نصي؟
يسود اعتقاد شائع بأن مهارة Claude Code أو أي أداة ذكاء اصطناعي مشابهة ليست سوى ملف إعدادات نصي آمن بطبيعته. يفتح المستخدم ملف SKILL.md ويقرأ التعليمات، ثم يطمئن إلى أن كل شيء تحت السيطرة.
لكن الحدّ الفاصل بين «ملف الإعدادات» و«الشيفرة التنفيذية» بات ضبابيًا منذ وقت طويل. فالمهارات الحديثة تتضمن:
- سكربتات Python أو Bash تُنفَّذ عبر `tool_call`
- تعليمات للتعامل مع نظام الملفات المحلي ومتغيرات البيئة
- استدعاءات لواجهات API خارجية ونقاط نهاية webhook
- خطوط معالجة وكيلية (agentic) متعددة الخطوات بصلاحيات وصول موسّعة
كل ذلك يعمل بصلاحيات المستخدم الحالي، ودون عزل sandbox افتراضيًا. وتحصل المهارة الخبيثة على إمكانية الوصول إلى الملفات ورموز API ومفاتيح SSH وسجل المحادثات: أي إلى ما هو مخزَّن على القرص في هذه اللحظة، لا إلى شيء مجرّد.
وهذا ما يجعل متجه الهجوم عبر المهارة مختلفًا جوهريًا عن ثغرة في المتصفح مثلًا: فالمهارة لا تتجاوز الحماية، بل تستغل الصلاحيات الممنوحة لها. ومن وجهة نظر النظام، تُعدّ هذه الإجراءات مشروعة تمامًا.
كيف يستخدم المهاجم المهارة كمتجه للهجوم
في حقن الأوامر الكلاسيكي، تختبئ التعليمات الخبيثة داخل البيانات التي يعالجها النموذج، كنص صفحة ويب أو مستند أو رسالة بريد. يقرأ الوكيل المحتوى وينفّذ الأوامر المخفية. أما مع المهارات التي تحتوي على شيفرة تنفيذية، فيختلف الهجوم ويصعب اكتشافه.
تسلسل الهجوم المعتاد عبر مهارة OSS:
- ينشر المهاجم مهارة ذات وظيفة مفيدة فعلًا، كمحرر أو محوّل أو أداة بحث
- تكون الإيداعات (commits) الأولى سليمة، فتكسب المهارة النجوم ويثبّتها المستخدمون
- بعد عدة تحديثات، تُضاف منطقية خبيثة لجمع ملفات `.env` ورموز API وسجل المحادثات
- يحدّث المستخدم المهارة دون فحص الفروقات (diff)، فتُرسَل البيانات إلى خادم خارجي
«المهارة ليست ملف إعدادات ولا مجرد موجّه نصي في SKILL.md. قد تكون
حرفيًا شيفرة تنفيذية تعمل بصلاحياتك»
وعلى خلاف الثغرة في حزمة npm التي يرصدها `npm audit`، لا تترك المهارة الخبيثة سجلًا في CVE، إذ لا أحد يفحصها آليًا.
ما الذي يجب فحصه قبل تثبيت المهارة؟
قائمة التحقق الدنيا قبل إضافة مهارة من طرف آخر:
- اقرأ الشيفرة كاملة، لا SKILL.md وحده — فسكربتات Python وBash وPowerShell في مجلد المهارة تتطلب مراجعة يدوية
- ابحث عن الطلبات الخارجية — فاستخدام `curl` أو `fetch` أو `requests.get` نحو عناوين URL مجهولة دون حاجة واضحة علامة تحذير حمراء
- افحص الوصول إلى المسارات الحساسة — فالوصول إلى `~/.ssh/` أو `~/.env` أو `.credentials` دون إذن صريح من المستخدم غير مقبول
- ادرس سجل الإيداعات — فالشيفرة الخبيثة تظهر غالبًا بعد أسابيع من إصدار سليم
- ابحث عن التعمية (obfuscation) — كسلاسل base64 واستدعاءات `eval()` الديناميكية وأسماء المتغيرات غير المعتادة
- دقّق في التبعيات — فقد تكمن المنطقية الخبيثة في مكتبة مساعدة لا في SKILL.md نفسه
يُستحسن اختبار المهارات غير المعروفة في بيئة معزولة: ملف تعريف منفصل دون مفاتيح API حقيقية ودون وصول إلى ملفات العمل. والخيار الأمثل حساب اختبار مخصص لا يحمل أي رموز إنتاجية.
ماذا يعني ذلك
يكرر النظام البيئي لمهارات OSS الخاصة بمساعدي الذكاء الاصطناعي مسار npm قبل عشر سنوات: نمو سريع، وتحقق مركزي ضعيف، وعادة التثبيت دون تدقيق. لكن الفرق جوهري: فالمهارة لا تعمل في بيئة Node معزولة، بل مباشرةً في بيئة عمل المستخدم وبصلاحياته. وتدقيق المهارات قبل تثبيتها ليس هوسًا أمنيًا، بل هو نفس النظافة الأمنية التي يمثلها `npm audit` قبل النشر.
Build & Ship Production AI Apps with Vibe Coding
Join Zhemal Khamidun's hands-on Vibe Coding Intensive at hamidun.com/vibecoding — master Claude Code, Cursor, and autonomous agentic workflows.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.