كان النص المخفي على صفحة الويب كافيًا لجعل Kiro، وهو بيئة تطوير متكاملة للتشفير الوكيل لـ AWS، يعيد كتابة ملف التكوين الخاص به ويقوم بتشغيل تعليمات برمجية للمهاجم على جهاز المطور، مع عدم وجود خطوة موافقة قادرة على إيقافه.

وجدت Intezer، في بحث مع Kodem Security، أن الطلب العادي مثل مطالبة Kiro بتلخيص صفحة ما قد يؤدي إلى تنفيذ تعليمات برمجية عن بُعد. قامت AWS بتصحيح المشكلة، ولم يتم تعيين أي CVE لها.

يعتمد نموذج أمان كيرو على قيام الإنسان بالنقر فوق “السماح”. يمكن للوكيل تشغيل أوامر shell وجلب عناوين URL وتحرير الملفات، ويفترض التصميم أن يقوم المطور بمراجعة أي شيء محفوف بالمخاطر قبل حدوثه. خطوة الموافقة هذه هي الحدود الأمنية، والخلل يسمح للمهاجم بتجاوزها دون أن يُعرض على المطور أي خيار.

كانت نقطة الضعف هي الملف الذي يخبر كيرو بالأدوات الخارجية التي يجب تحميلها. يقرأ Kiro قائمة خوادم بروتوكول السياق النموذجي، والأمر الدقيق المستخدم لبدء كل خادم، من ~/.kiro/settings/mcp.json.

عندما يتغير هذا الملف، يعيد كيرو تحميله ويطلق كل ما يصفه على المضيف، مع امتيازات المطور. في وقت إجراء البحث، كان بإمكان Kiro الكتابة إلى mcp.json بمفرده باستخدام أداة fsWrite الخاصة به، دون الحاجة إلى موافقة، وإعادة تحميله تلقائيًا.

يمكن لأي شخص يمكنه التأثير على محتويات هذا الملف تسجيل خادم يكون أمر البدء الخاص به عبارة عن تعليمات برمجية عشوائية، وسيتم تشغيله في اللحظة التي يتم فيها إعادة تحميل Kiro.

إن إدخال النص في سياق Kiro هو الجزء السهل. يقوم الوكيل بسحب المحتوى الخارجي عندما يطلب منه المطور جلب عنوان URL أو قراءة الوثائق أو البحث في الويب. قام إثبات المفهوم الخاص بـ Intezer بوضع تعليماته في نص أبيض بحجم بكسل واحد (اللون:#fff;font-size:1px) على صفحة وثائق API عادية.

يرى المطور مرجعًا نظيفًا لواجهة برمجة التطبيقات. يقرأ Kiro الكتلة المخفية كمهمة إعداد، ويكتب الخادم الضار في mcp.json، ثم يعيد تحميله. وفي غضون ثوانٍ، يبدأ الخادم المحتال في العمل، ويتم تشغيل التعليمات البرمجية للمهاجم.

في العرض التوضيحي الذي قدمه Intezer، تتصل الحمولة بالمنزل فقط مع اسم مضيف الجهاز واسم المستخدم والنظام الأساسي كل عشر ثوانٍ، وهو ما يكفي فقط لإثبات التنفيذ. يمكن لنفس البدائي تشغيل أي أمر متاح للمطور، بما يكفي لسرقة بيانات الاعتماد وكود المصدر، أو زرع الثبات، أو التركيز على أي أنظمة داخلية يمكنهم الوصول إليها.

أبقى الباحثون رد الاتصال الخاص بهم موجهًا إلى المضيف المحلي حتى لا يتم الكشف عن أي مستخدمين حقيقيين لـ Kiro، ولاحظوا أن الهجوم ليس موثوقًا تمامًا: النموذج غير حتمي وقد يلخص الصفحة ويتجاهل الكتلة المخفية. في اختبارهم، نجح الأمر خلال محاولة أو محاولتين. نجاح واحد هو كل ما يتطلبه الأمر.

أظهر كيرو، في بعض الحالات، نافذة منبثقة تفيد بأن تكوين MCP قد تغير ويطلب الموافقة. لم يحدث أي فرق. تمت إعادة تحميل التكوين بغض النظر عما نقر عليه المطور، لذلك لم يقدم التحذير أي حماية حقيقية. كان الإجراء الوحيد الذي وافق عليه المطور فعليًا هو جلب عنوان URL.

لقد كان كيرو هنا من قبل

ظهر وكيل قادر على كتابة الملف الذي يحكم ما يُسمح بتشغيله في Kiro من قبل. في يوم إصدار Kiro في يوليو 2025، أظهر Johann Rehberger من Embrace The Red نفس خطوة الكتابة إلى التنفيذ mcp.json: حقن سريع يسقط تعليمات برمجية مخصصة في ملف إعدادات MCP ويقوم بتشغيله في اللحظة التي يتم فيها حفظ الملف.

لقد وضع علامة على طريق ثانٍ أيضًا، فكتب إلى ‎.vscode/settings.json لإدراج أوامر shell في القائمة المسموح بها. أضافت استجابة AWS، Kiro 0.1.42، مطالبة بالموافقة على تلك الكتابات، ولكن في الوضع الخاضع للإشراف فقط. استمر وضع الطيار الآلي الافتراضي في كتابة الملف من تلقاء نفسه، وهذا هو الوضع. تم استخدام سلسلة Intezer 2026. ولم يتم إصدار أي مكافحة التطرف العنيف في ذلك الوقت أيضًا.

ووجد آخرون إصدارات مجاورة من نفس الفئة. ذكرت Cymulate أن Kiro سيقوم تلقائيًا بتنفيذ التعليمات البرمجية المكتوبة إلى .vscode/tasks.json عند فتح مجلد. قامت AWS بتعيينه CVE-2026-10591 (8.8 ضمن CVSS 3.1، 8.6 ضمن CVSS 4.0) وتثبيته في السلسلة 0.11.

كانت سلسلة mcp.json من Intezer لا تزال موجودة على الإصدارين 0.9.2 (macOS) و0.10.16 (Ubuntu) عندما أبلغت الشركة عنها في فبراير 2026، وتم تأكيد تصحيحها في الإصدار 0.11.130.

كانت إجابة AWS هي التوقف عن الثقة في حكم النموذج على هذه الملفات ونقل الشيك إلى النظام الأساسي. يقوم Kiro الآن بوضع علامات على mcp.json و.vscode/tasks.json ودليل .git والملفات الحساسة الأخرى كمسارات محمية، ويتطلب كل منها موافقة صريحة قبل الكتابة.

وثائقها الخاصة توضح هذه النقطة بشكل مباشر: “الوضع الخاضع للإشراف هو سير عمل لمراجعة التعليمات البرمجية، وليس عنصر تحكم أمني.” يعتمد الإصدار 1.0 الذي أعقب ذلك بشكل أكبر على نفس المبدأ، مع نموذج أذونات قائم على القدرات يطالب بالموافقة على أي شيء لم يسمح به المطور بالفعل.

يغلق هذا المزيج المسار الذي سلكه Intezer: أكد Intezer فشل الهجوم في 0.11.130، وعلى عكس إصلاح 2025، يستمر فحص المسارات المحمية في وضعي Autopilot وSupervised.

أبلغت Intezer عن الخلل من خلال HackerOne في 11 فبراير 2026، وبحلول 3 أبريل، قالت AWS إن الإصلاح قد تم شحنه في أحدث إصدار لها، على الرغم من أنها لم تذكر الإصدار مطلقًا؛ وأكد الباحثون ذلك بأنفسهم في الإصدار 0.11.130.

لم يتم تعيين أي CVE: لم تعثر Hacker News على أي اكتشاف في قاعدة بيانات الثغرات الأمنية الوطنية اعتبارًا من 21 يوليو 2026، ولم تنشر AWS أي قائمة كاملة بالإصدارات المتأثرة. لم تبلغ شركة Intezer عن أي استغلال فعلي، وشمل اختبارها Kiro IDE؛ لم يتم تحديد ما إذا كانت إصدارات Kiro CLI المنفصلة أو إصدارات الويب تشترك في الخلل.

الإصدارات الحالية موجودة على السطر 1.0.x، مع إدراج 1.0.165 كأحدث اعتبارًا من 21 يوليو 2026، ويجب على أي شخص يستخدم إصدارًا أقدم التحديث من صفحة تنزيلات Kiro.

تواصلت Hacker News مع AWS لتأكيد إصدارات Kiro المتأثرة وسبب عدم تعيين CVE، وسوف تقوم بتحديث هذه القصة بأي رد.

على مدار عام تقريبًا، وجدت ثلاث جهود بحثية منفصلة نفس شكل الخطأ في Kiro: يقوم العميل بتحرير الملفات بهدوء ويقرر ما يُسمح له بتنفيذه. كيرو ليس وحده: في ديسمبر 2025، قام الباحثون بفهرسة أكثر من 30 عيبًا في أدوات تشفير الذكاء الاصطناعي، ومن بينها Cursor وCopilot، وكلها تحول ميزات المحرر المشروعة إلى مسارات حقن سريعة لتنفيذ التعليمات البرمجية أو سرقة البيانات.

تشير جميع الإصلاحات الحالية إلى نفس الدرس: التحكم الذي يعمل موجود في النظام الأساسي، ويتم فرضه في كل وضع وخارج أي شيء يمكن أن يُطلب من النموذج تغييره.

مع انتقال المزيد من سير عمل التطوير إلى الوكلاء الذين يقرؤون الويب المفتوحة، لا يعمل الإنسان الموجود في الحلقة كعنصر تحكم إلا إذا تم عرض الخطوة المهمة على الإنسان، وتحافظ المنصة على الخط حتى بعد أن يتم مناقشة النموذج بالكامل لعبوره.

شاركها.
اترك تعليقاً