أمن سيبرانيقراءة دقيقتين

بحث Comment and Control: تعليقات GitHub تتحكم في agents داخل CI وتكشف أسرارها

المغزى

حين يقرأ agent نصًا يكتبه أي غريب، ويعمل في المكان نفسه الذي تُحفظ فيه المفاتيح، يصبح كل repo عام بهذا الإعداد مفتوحًا لمن يجيد كتابة تعليق.

نشر فريق بحثي من جامعة Johns Hopkins، يضم Neil Fendley وZhengyu Liu وJiacheng Zhong وYinzhi Cao، مع Aonan Guan من Wyze Labs، بحثًا عن هجوم سمّوه Comment and Control. ويبيّن البحث أن عناوين الـ pull requests ونصوص الـ issues والتعليقات يمكن أن تتحكم في agents تعمل داخل GitHub Actions، منها Claude Code Security Review وGemini CLI Action وGitHub Copilot Agent، وأن النتيجة قد تكون تسريب أسرار الـ workflow مثل GITHUB_TOKEN وANTHROPIC_API_KEY وGEMINI_API_KEY.

ولا يرجع الخلل إلى سطر كود بعينه، بل إلى شكل الإعداد نفسه. فالـ agent يُضاف إلى الـ workflow لمراجعة الـ PRs، ويقرأ العنوان والوصف والتعليقات جزءًا من سياقه. وهذه النصوص يكتبها أي شخص من خارج المشروع، فهي مُدخل غير موثوق. وفي الوقت نفسه يعمل الـ agent على runner فيه أدوات لتنفيذ الأوامر وفيه الأسرار. فيجتمع في مكان واحد نص يكتبه غريب، وصلاحية تنفّذ، ومفتاح يمكن أن يُسرق. وهذا ما يُعرف بالـ prompt injection: تعليمات مدسوسة داخل بيانات يقرأها النموذج.

وكُشف معه عن ثغرة منفصلة في Gemini CLI برقم CVE-2026-12537 ودرجة 10.0، تسمح بتنفيذ أوامر على الجهاز المضيف قبل أن يبدأ الـ sandbox، عبر ملف إعدادات داخل المستودع.

وصدرت الإصلاحات في Gemini CLI 0.39.1، وrun-gemini-cli 0.1.22، وClaude Code 2.1.163.

والأثر الأوسع يتجاوز هذه الأدوات الثلاث. فكل repo عام يشغّل agent في CI بصلاحيات حقيقية أصبح سطح هجوم لا يتطلب اختراق أي شيء، بل كتابة نص فقط.

ويبقى سؤال التصميم دون إجابة مستقرة حتى الآن: كيف يُمنح agent صلاحيات فعلية وهو يقرأ كلام أشخاص لا يعرفهم أحد.

المصادر

  1. الورقة البحثية على arXiv
  2. شرح الباحث Aonan Guan
  3. ملاحظة بحثية من Cloud Security Alliance
  4. تغطية SecurityWeek
  5. توثيق GitHub لتأمين الـ workflows والأسرار
  6. قائمة OWASP لأهم مخاطر تطبيقات الـ LLM

من عدد الثلاثاء 28 صفر - 11 أغسطس

أخبار ذات صلة

أخبار الثلاثاء 28 صفر - 11 أغسطس