نشرت شركة الأمن Wiz في 17 أغسطس بحثًا يصف كيف اكتشف وكيلها الهجومي المستقل واستغل ثغرة حقن سكربت في سير عمل GitHub Actions يخص المستودع العام snowflakedb/snowflake-connector-net، واستخدمها لاستخراج رمزٍ منح وصولًا للقراءة إلى Jira الداخلي لدى Snowflake.
الجدول الزمني ضيق على نحو غير معتاد
دخلت الثغرة حيز التنفيذ عندما تم دمج PR #1218 في 18 يونيو 2026. حدّدتها Wiz واستغلتها وأبلغت عنها عبر HackerOne في 23 يونيو؛ وقامت Snowflake بإصلاحها في اليوم نفسه ضمن الالتزام 1dc7766، ثم غيّرت رمز Jira في 24 يونيو. كانت مدة التعرض خمسة أيام. صادق الرمز على qa@snowflake.net لدى مستأجر Atlassian الخاص بـSnowflake، مانحًا وصولًا للقراءة عبر مشاريع تتعلق بالهندسة والامتثال الأمني وتتبع مكافآت الثغرات.
ما يخطئ فيه التأطير الشائع
تتداول القصة على أنها "كتب الذكاء الاصطناعي الخلل واستغل ذكاء اصطناعي آخر الثغرة". هذه المضاهاة هي الجزء الذي لا يستطيع أحد تبنّيه. موقف GitHub، كما نُقل للصحفيين، هو أن المساهمات التي أدت إلى الثغرة كتبها إنسان ولم يراجعها Copilot ولم يساهم فيها. كما أن Wiz نفسها أضافت تحديثًا تقر فيه بأنه لا يزال من غير الواضح ما إذا كان التغيير البرمجي قد جرى بمساعدة الذكاء الاصطناعي، وتذكر أن إسهام Copilot Autofix الموثق في طلب الدمج ذاك كان إصلاحًا منفصلًا لملف مختلف. وبالتالي فإن ادعاء التأليف محل نزاع من المورّد ومتحفّظ عليه من الباحث — ومع ذلك فهو الادعاء الذي تصدّر التغطية.
النتيجة غير المتنازع عليها هي الأشد خطورة
ما لا يختلف عليه أحد: وكيل مستقل جمع سلسلة الاختراق كاملة دون مساعدة — من الاستطلاع، إلى اكتشاف سير عمل قابل للحقن، إلى الاستغلال، إلى استخراج الاعتماد، إلى التحرك الجانبي داخل نظام SaaS منفصل — وذلك ضد مزوّد كبير لمنصات البيانات. وأيًا يكن من كتب الخلل، فإن الفحص الذاتي لدى GitHub لم يرصد المشكلة قبل الدمج. هذه نتيجة تتعلق بتغطية الدفاع، ولا تعتمد مطلقًا على نزاع التأليف.
ما الذي تم الوصول إليه وما الذي لم يتم الوصول إليه
ثمة تشويه ثالث يستحق التسمية. لقد كان هذا سير عمل CI في مستودع موصل عام، وكان الوصول الذي تم الحصول عليه هو وصول قراءة إلى مشاريع Jira. لم يكن ذلك منصة بيانات Snowflake، ولم يكن بيانات العملاء. وتقول Snowflake إن تحقيقها لم يجد دليلًا على وصول غير مصرّح به يتجاوز الباحثين، وأن سجلات التدقيق أظهرت أن Wiz كانت الطرف الثالث الوحيد على نقطة النهاية. إن عبارتي "تعرضت Snowflake للاختراق" و"تمت قراءة Jira عبر runner لـ Actions" ليستا الجملة نفسها.
