ثغرة في GitHub Actions لدى Snowflake كشفت token لنظام Jira الداخلي عبر عنوان issue
أي workflow يتعامل مع نص يكتبه طرف خارجي ويحمل secret في بيئته يشبه هذه الحالة تمامًا، فالخلل هنا نمط متكرر لا خطأ نادر.
كشف باحثون في شركة Wiz، بحسب تغطية The Hacker News وInfosecurity Magazine في أغسطس 2026، أن فتح issue عادي على مستودع عام تابع لـ Snowflake كان كافيًا للحصول على API token لنظام Jira الداخلي في الشركة، عبر عنوان الـ issue وحده.
والخلل اجتمع في ملف workflow واحد في مستودع snowflake-connector-net، من ثلاثة عناصر. الأول أن الـ workflow كان يدرج عنوان الـ issue مباشرة داخل سكربت shell عبر تعبير من نوع ${{ }}. وGitHub يستبدل هذه التعبيرات في نص السكربت قبل أن يصل إلى bash، فيصبح النص الذي كتبه شخص خارجي جزءًا من الأوامر المنفذة. ويُعرف هذا النمط في توثيق GitHub بـ script injection.
والثاني أن الشرط الذي كان يُفترض أن يمنع الغرباء كان يقارن حقلًا خاصًا بالـ pull requests، بينما لا وجود لهذا الحقل في أحداث الـ issues، فكانت المقارنة تمر دائمًا.
والثالث أن الـ job كان يحمل JIRA_API_TOKEN في متغيرات البيئة كي ينشئ تذكرة، فأصبح في متناول الأوامر المنفذة.
وكان الـ token تابعًا لحساب خدمة، ويتيح الوصول إلى مشاريع الهندسة والامتثال والـ bug bounty. وبحسب البحث، أُدخل الخلل في 18 يونيو 2026، وأُبلغ عنه عبر HackerOne في 23 يونيو، وأُصلح في اليوم نفسه. وتقول Snowflake إنها لم تجد دليلًا على وصول غير مصرح به.
والملف في صورته الحالية على المستودع يمرر العنوان عبر متغير بيئة ثم إلى أداة jq كمعامل، مع تعليق يشرح أن ذلك لضمان التعامل الآمن مع علامات التنصيص.
وأهمية الحالة أنها نمط لا حادثة معزولة. فأي مستودع يحتوي على workflow يتفاعل مع نص يكتبه طرف خارجي، كعنوان issue أو pull request، ويحمل secret في بيئته، يحمل البنية نفسها.