نظرة عامة
| المعلومة | القيمة |
|---|---|
| الأداة المتأثرة | AWS Kiro — بيئة تطوير متكاملة (IDE) عاملة بالذكاء الاصطناعي (Agentic) |
| نوع الثغرة | حقن أوامر مخفية (Hidden Prompt Injection) تؤدي لإعادة كتابة ملف إعدادات وتنفيذ أوامر عن بُعد |
| رقم CVE | لم يُخصَّص رقم CVE رغم الطبيعة الحرجة للثغرة |
| الملف المستهدَف | ~/.kiro/settings/mcp.json — ملف إعدادات بروتوكول سياق النموذج (MCP) |
| الحاجة لتفاعل الضحية | نعم — يجب أن يطلب المطوّر من Kiro تلخيص أو جلب محتوى من صفحة مسمومة |
| حالة التصحيح | متوفرة — مُصحَّحة بالإصدار 0.11.130 فما فوق، مع تحسينات أعمق بالإصدار 1.0 |
| الجهة المكتشِفة | شركتا Intezer وKodem Security |
ما هي AWS Kiro؟
AWS Kiro بيئة تطوير متكاملة (IDE) “وكيلية” (Agentic) — تعني أنها لا تكتفي باقتراح كود كمساعد تقليدي، بل تستطيع فعلياً تنفيذ أوامر Shell، وجلب محتوى من روابط، وتعديل ملفات نيابة عن المطوّر، عادة بموافقته على كل خطوة حساسة. هذا النوع من الأدوات “الوكيلية” ينتشر بسرعة بمجال التطوير المدعوم بالذكاء الاصطناعي، وهو تحديداً ما يجعل ثغرات مثل هذه خطيرة بشكل خاص — الأداة مصمَّمة أصلاً لتنفيذ إجراءات فعلية على جهاز المطوّر، لا فقط لعرض اقتراحات نصية.
سلسلة الاستغلال: أربع خطوات من نص مخفي إلى تنفيذ كامل
الخطوة 1: حقن نص مخفي بصفحة ويب عادية
يزرع المهاجم تعليمات غير مرئية داخل صفحة ويب عادية، باستخدام حيلة تصميم بسيطة وفعّالة: نص أبيض بحجم بكسل واحد (color:#fff;font-size:1px) — غير مرئي تماماً لأي مستخدم بشري يتصفح الصفحة بشكل طبيعي، لكنه يبقى نصاً عادياً بالكامل بالنسبة لأي برنامج يقرأ محتوى الصفحة الخام (كوكيل ذكاء اصطناعي يجلب الصفحة لتلخيصها).
الخطوة 2: استهداف ملف الإعدادات
عندما يطلب مطوّر من Kiro تلخيص أو جلب محتوى من الصفحة المسمومة، يعالج الوكيل النص المخفي كتعليمات شرعية — تحديداً تعليمات لتعديل ملف إعدادات بروتوكول سياق النموذج (MCP) بمسار ~/.kiro/settings/mcp.json.
الخطوة 3: كتابة غير مقيَّدة بدون موافقة
هنا يكمن جوهر الثغرة الفعلي:
“Kiro could write to mcp.json on its own with its fsWrite tool, no approval required, and reload it automatically.” الترجمة: “كان Kiro قادراً على الكتابة إلى ملف mcp.json من تلقاء نفسه عبر أداته الداخلية fsWrite، دون الحاجة لأي موافقة، وإعادة تحميله تلقائياً.”
بينما تتطلب معظم الإجراءات الحساسة بأدوات مثل Kiro موافقة صريحة من المطوّر (Human-in-the-Loop)، كانت الكتابة على ملف الإعدادات هذا تحديداً مستثناة من هذا الشرط — ثغرة تصميمية أساسية أتاحت للوكيل تعديل سلوكه الخاص دون أي رقابة بشرية.
الخطوة 4: تنفيذ تلقائي كامل
بمجرد تعديل الملف، لا يحتاج المهاجم لأي خطوة إضافية:
“Kiro reloads it and launches whatever it describes, on the host, with the developer’s privileges.” الترجمة: “يعيد Kiro تحميل الملف ويشغّل أي شيء يصفه، على الجهاز المضيف، بصلاحيات المطوّر نفسه.”**
النتيجة النهائية: تنفيذ أوامر عن بُعد كامل، بصلاحيات المطوّر الحقيقية، بدون أي نافذة موافقة ظهرت له إطلاقاً — كل ما فعله المطوّر هو طلب “لخّص لي هذه الصفحة”.
إثبات المفهوم: قناة اتصال خفية للتحقق
لإثبات إمكانية التحكم الفعلي عن بُعد (لا فقط تنفيذ أمر واحد لمرة)، أظهر الباحثون قناة اتصال دورية بسيطة:
“the payload only phoned home with the machine’s hostname, username, and platform every ten seconds” الترجمة: “الحمولة كانت فقط ترسل بيانات (اسم الجهاز، اسم المستخدم، ونظام التشغيل) لخادم المهاجم كل عشر ثوانٍ.”
هذا كافٍ لإثبات أن المهاجم يستطيع تأسيس تواصل مستمر مع الجهاز المخترَق، دون الحاجة لإظهار حمولة أكثر تدميراً بإثبات المفهوم نفسه.
نطاق الأثر الكامل
بحسب الوصف التقني، النطاق الفعلي لما يستطيع مهاجم فعله بعد استغلال الثغرة يشمل:
“steal credentials and source code, plant persistence, or pivot into whatever internal systems they can reach.” الترجمة: “سرقة بيانات الاعتماد والكود المصدري، زرع آليات استمرارية (Persistence)، أو التنقل نحو أي أنظمة داخلية يستطيعون الوصول إليها.”
بما أن Kiro أداة تطوير تعمل بصلاحيات المطوّر نفسه، فإن أي وصول يملكه ذلك المطوّر شخصياً (مستودعات كود، أنظمة داخلية، بيانات اعتماد محفوظة) يصبح بمتناول المهاجم فعلياً بعد نجاح الاستغلال.
التصحيح: من “لا قيود” إلى صلاحيات قائمة على الإمكانيات
عالجت AWS الثغرة عبر تغيير معماري حقيقي، لا مجرد ترقيع سريع:
- الإصدار 0.11.130 فما فوق: إدخال مفهوم “المسارات المحمية” (Protected Paths) — تتطلب موافقة صريحة قبل أي كتابة على ملفات حساسة، بما فيها ملف إعدادات MCP نفسه.
- الإصدار 1.0: توسيع الحماية لتشمل صلاحيات قائمة على الإمكانيات (Capability-Based Permissions) تفرض موافقة المستخدم عبر كل أنماط عمل الأداة، لا فقط بالمسارات المحدَّدة سلفاً.
كيف تحمي نفسك؟
- حدّث AWS Kiro للإصدار 0.11.130 فما فوق فوراً، ويُفضَّل الانتقال للإصدار 1.0 للاستفادة من نظام الصلاحيات الأشمل.
- تعامل بحذر مع أي طلب “تلخيص” أو “جلب محتوى” من صفحات ويب غير موثوقة عبر أدوات ذكاء اصطناعي وكيلية — النص المرئي بالمتصفح ليس بالضرورة كل ما يقرأه الوكيل فعلياً.
- راجع ملفات إعدادات MCP بشكل دوري (
~/.kiro/settings/mcp.jsonوما شابهها بأدوات مماثلة) بحثاً عن أي تعديلات غير متوقَّعة. - راقب اتصالات الشبكة الصادرة الدورية غير المعتادة من جهاز التطوير — نمط “اتصال كل عشر ثوانٍ” كما بإثبات المفهوم هنا قد يكون مؤشراً على قناة تحكم خفية.
ملاحظات
- الخبر الأصلي كتبته الصحفية Swati Khandelwal على The Hacker News بتاريخ 21 تموز/يوليو 2026.
- هذه الثغرة تشترك بنمط تقني مطابق تقريباً لثغرة Azure DevOps MCP المغطاة سابقاً بهذه المدونة: نص مخفي عن العين البشرية (تعليق HTML هناك، نص أبيض بحجم بكسل هنا) يقرأه الوكيل الآلي كتعليمات شرعية. هذا النمط — إخفاء تعليمات عن الإنسان مع إبقائها مقروءة آلياً — أصبح تكتيكاً متكرراً بشكل واضح ضد أدوات الذكاء الاصطناعي الوكيلية.
المصدر
المقال الأصلي: AWS Kiro Flaw Let a Poisoned Web Page Rewrite Its Config and Run Code