التدقيق العدائي
ليس تدقيقًا واحدًا. إنه انضباط.
يستطيع أي أحد أن يجري فحصًا أمنيًا مرة واحدة ويلتقط صورة للشاشة وهي خضراء. الأصعب هو أن تواصل مهاجمة نظامك من جديد كلما نما، وأن تحصل على الإجابة نفسها في كل مرة. الجولة الأخيرة: تدقيق بـ 50 وكيلًا شُحنت إصلاحاته، ثم إعادة تدقيق عدائية بـ 14 عدسة منفصلة، كان على كل نتيجة فيها أن تصمد أمام مشكّك قبل أن تُحتسب. ما يصمد، يصمد.
ما شمله أحدث تدقيق
النطاق والمنهجية والحدود أولاً. أعداد الوكلاء لاحقاً.
من أحدث تدقيق للنواة، بتاريخ 25 سبتمبر 2026. عدد الوكلاء يدل على مدى انشغال التدقيق، لا على جودته، لذا إليك ما فعله هذا التدقيق فعلاً.
- الشيفرة
- الحزمة الأساسية، 162 ملفاً و17,362 سطراً، عند commit ثابت واحد، إضافة إلى شيفرة البوابة اللازمة لمعرفة ما إذا كان كل مسار نشطاً.
- الوصول
- الشيفرة المصدرية كاملة، وقاعدة بيانات جديدة مبنية من ملفات الترحيل. ليست قاعدة بيانات الإنتاج؛ فالإعدادات الخاصة بالإنتاج وحده وُسمت بأنها غير متحقق منها وتحققتُ منها بنفسي لاحقاً.
- المنهجية
- أربعة مراجعين قرأ كل منهم طبقة واحدة كاملة. ثم أعاد مراجع رئيسي قراءة كل نتيجة مقابل الملف، وشغّل كل ادعاء يتعلق بالتوقيت أو بالأنماط، قبل أن تُحتسب.
- الخطورة
- HIGH تعني أزمة فائتة أو حجب خدمة على مسار نشط، أو تسرباً بين المستأجرين، أو خسارة أموال. المتوسطة تعني حارساً يفشل مفتوحاً، أو رصيداً يُنشأ من لا شيء، أو بيانات تُسقَط بصمت. كل نتيجة موسومة أيضاً بأنها نشطة أو كامنة: قابلة للوصول في الإنتاج اليوم، أو لا.
- الخلاف
- النتيجة التي لم يتمكن المراجع الرئيسي من إعادة إنتاجها أُسقطت أو وُسمت بأنها غير متحقق منها، ولم تُدمج في المتوسط.
- النتيجة
- 2 من النتائج بدرجة HIGH و13 نتيجة متوسطة. أُصلحت جميعها في اليوم نفسه، ولكل منها اختبار كان يفشل على الشيفرة القديمة، وأُعيد تشغيل مجموعة الاختبارات كاملة في CI.
- غير مشمول
- دقة نحو 7,000 سطر من نصوص السلامة المترجمة، وقاعدة بيانات الإنتاج، وإعدادات خادم الويب، و17 نتيجة منخفضة الخطورة لا تزال مفتوحة.
تدقيق ذاتي أجراه مراجعون من الذكاء الاصطناعي وجّهتُهم، وليس ضماناً مستقلاً من طرف ثالث.
الإيقاع
هوجم مجدداً، جولة بعد جولة. كل نتيجة أدناه تتعلق بتجاوز حدود المستأجرين اكتشفها تدقيق، لا بلاغ من عميل، وأُصلحت.
✓ صمدت الأصول الأهم في كل جولة، العزل · المال · الحوكمة · SSRF · نطاقات الرموز
ثلاث من الحالات الحقيقية
عالية تسرّب محادثات بين المستأجرين
كانت ذاكرة المحادثات مفهرسة بـالمرسِل، لا بالمستأجر، لذا فإن الضيف الذي راسل نشاطين تجاريين عبر المنصة كان يمكن أن تظهر محادثته مع أحدهما داخل موجّه الآخر. أُصلح: أصبح السجل مفهرسًا بالنشاط التجاري على مستوى طبقة التخزين، مع اختبار يفشل إذا عاد المفتاح القديم. اكتشفه التدقيق، ولم يبلّغ عنه عميل.
HIGH مزوّد يستنزف مستدعيًا
في اقتصاد الأدوات بين المستأجرين، كان بإمكان مزوّد أن يرفع سعر أداة ممنوحة بعد أن يبدأ المستدعي باستخدامها فيستنزف رصيده. تم الإصلاح: يوافق المستدعي على سعر لكل استدعاء، مع الإغلاق عند الفشل، فلا موافقة يعني لا خصم، ويُفرض ذلك قبل أن ينتقل أي رصيد.
HIGH أزمة خلف العدّاد
كان فحص الفوترة يعمل قبل فحص الأزمات، فكان العميل الذي يمر بضائقة ويراسل نشاطًا تجاريًا نفد رصيده يتلقى "غير متاح" بدلًا من خط أزمات. أُصلح: تُقدَّم خدمة الأزمات مجانًا، قبل كل سقف وكل رسم، على كل واجهة للعملاء.
تغطي العدسات العزل · المصادقة · الحقن · المال · الحوكمة · الحجز · القنوات · المقيم المستقل · حقوق البيانات (GDPR/PECR) · مولّد المواقع · الواجهة الأمامية · العمليات. الحكم في كل جولة: صفر ثغرات حرجة قائمة؛ عاد عزل المستأجرين وسطح XSS نظيفَين؛ لا يوجد تجاوز مصادقة فعّال: كل حالة حدّية مؤكدة أُصلحت وأُعيد نشرها.
الأرقام الصادقة
كل رقم، مع تحفظه مرفقًا سلفًا.
معظم البنّائين يضخّمون. أفضّل أن تثق بالأجزاء الحقيقية على أن تنبهر بأجزاء ليست كذلك.
النظام صادق لأن من صمّمه صادق. حرصت على ذلك منذ البداية، مدمجًا فيه لا مُلحقًا به.
الدعوة
الأرقام صامدة. والتحفظات مرفقة.
إن كنت تريد بنّاءً يهاجم عمله بهذه الشدة قبل أن يطلب منه أحد، ويواصل ذلك مع نمو النظام، فلنتحدث.
اسأل عن التدقيقات: ما الذي عُثر عليه، وما الذي أُصلح، وما الذي لا يزال مفتوحًا.
- ما الذي لا يزال مفتوحًا؟
- ما أسوأ ما عُثر عليه؟
- من أجرى هذه التدقيقات؟