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

توكن GitHub بقي مكشوفًا 3 سنوات داخل سجل بناء صورة Docker لدى Baseten

نشرت شركة Strix في 1 سبتمبر 2026 تحقيقًا عن ثغرة لدى منصة Baseten، وصل إلى صدارة Hacker News في 15 سبتمبر. كان أحد مستودعات صور الحاويات لدى الشركة، من نوع Harbor، يسمح بتنزيل الصور دون مصادقة. وفي بيانات إحدى الصور كان هناك توكن GitHub لحساب آلي اسمه basetenbot، مكتوب منذ خطوة بناء بتاريخ 3 مارس 2023.

كان التوكن يمنح صلاحيات admin وpush على 3 مستودعات، إضافة إلى القراءة والكتابة على مستودعات خاصة فيها عمل لعملاء. أُرسل البلاغ في 13 يوليو 2026 في الحادية عشرة ليلًا، وغُيّر التوكن في 14 يوليو الساعة 4:34 عصرًا. أي أن الاستجابة كانت سريعة، لكن التوكن ظل قابلًا للقراءة من الخارج نحو 3 سنوات.

لماذا لا يكفي حذف الملف

تحتوي كل صورة Docker على ملف إعداد فيه حقل history، يُسجَّل فيه نص كل خطوة من خطوات الـ Dockerfile. فإذا تضمن أمر RUN متغيرًا يحمل توكن، يستبدل الـ shell المتغير بقيمته قبل التنفيذ، وتُحفظ القيمة الفعلية في هذا السجل.

لذلك لا يفيد حذف ملف الأسرار في خطوة لاحقة. المشكلة ليست في الملف بل في السطر نفسه، وهذا السطر محفوظ في البيانات الوصفية للصورة، لا في طبقاتها.

ويستطيع أي فريق يبني صورًا خاصة به أن يرى هذه الأسطر كما هي عبر أمر docker history، المذكور في توثيق Docker. وإذا ظهرت فيها قيمة توكن صريحة، فالوضع مماثل. ويوفر Docker آلية مخصصة لتمرير الأسرار وقت البناء عبر BuildKit، تتيح استخدامها دون أن تُكتب في سجل الصورة.

الحادثة تذكير بأن الصورة المنشورة تحمل تاريخ بنائها معها، وأن ما كُتب في ذلك التاريخ يبقى متاحًا لكل من يستطيع تنزيلها.

المصادر

  1. تحقيق Strix الكامل
  2. توثيق أمر docker history
  3. توثيق تمرير الأسرار وقت البناء (BuildKit secrets)
  4. صفحة إدارة الـ personal access tokens على GitHub

من عدد الأربعاء 5 ربيع الآخر - 16 سبتمبر

أخبار ذات صلة

أمن سيبراني

Claude Code يضيف قاعدة Containment Escape تمنع الموافقة التلقائية على سحب مفاتيح السحابة

حين يعمل agent على خادم سحابي ويقرأ نصوصًا لم يكتبها صاحبه، يصبح نطاق الضرر المحتمل حساب السحابة كله لا المستودع وحده. بعض الأوامر يجب أن تبقى بحاجة إلى موافقة مهما كان الوضع مريحًا.

20 ربيع الأول - 2 سبتمبر

أخبار الأربعاء 5 ربيع الآخر - 16 سبتمبر