الـ SBOM تثبت ما قمت بتثبيته، لكنها لا تثبت ما كان ينبغي عليك تثبيته.
الـ SBOM بمثابة إيصال؛ فهي تخبرك بما قمت بتثبيته، لكنها لا تخبرك ما إذا كان قرار تثبيته صحيحًا أم لا.
تستخدم معظم الفرق الـ SBOM وفحوصات الـ CVE في مسارات CI/CD الخاصة بها. هذه الأدوات رائعة في العثور على الثغرات الأمنية المعروفة في الحزم الموجودة، ولكن لديها نقطة عمياء هائلة عند استخدام وكلاء البرمجة المدعومين بالذكاء الاصطناعي (AI coding agents).
يقترح وكيل الذكاء الاصطناعي اسم حزمة ما، ويفعل ذلك بنفس القدر من الثقة سواء كان الاسم حقيقيًا، أو مجرد هلوسة (hallucination)، أو محاولة انتحال اسم (typosquat).
إذا قام مهاجم بتسجيل اسم حزمة خبيثة بالأمس، فلن يكون لها سجل CVE بعد. سيراها فحص ما بعد التثبيت الخاص بك ويصنفها على أنها سليمة. الفحص صادق، لكنه أجاب على السؤال الخاطئ؛ فقد أجاب على سؤال "هل هذا معروف بأنه سيء؟" بدلاً من "هل يجب أن يتواجد هذا الاسم في بنيتنا التقنية (stack)؟"
بحلول الوقت الذي تسجل فيه الـ SBOM حزمة خبيثة، يكون الضرر قد وقع بالفعل. غالبًا ما يتم تشغيل الكود الخبيث أثناء مرحلة التثبيت عبر سكربتات ما بعد التثبيت (postinstall scripts)، ويمكنه سرقة متغيرات البيئة (environment variables) وأسرار الـ CI قبل أن يرى الماسح الضوئي شجرة الملفات حتى.
أنت بحاجة إلى حكم مسبق قبل وقوع الأثر الجانبي.
لقد قمت ببناء أداة بسيطة لحل هذه المشكلة، وهي بوابة للتحقق من المصدر قبل التثبيت (pre-install provenance gate). وهي تعمل بشكل مختلف عن الماسحات الضوئية:
• تقوم بفحص الأسماء قبل تشغيل npm install.
• تستخدم نهج "الرفض الافتراضي" (default-deny) بناءً على خط أساس موثوق.
• تقوم بتمييز محاولات انتحال الأسماء (typosquats) عن طريق قياس مسافة التعديل (edit distance) عن الحزم الشائعة.
• تكتشف الهلوسات التي لا تتطابق مع أي أسماء جيدة معروفة.
• تتحقق من ملف .npmrc الخاص بك للتأكد من أنك لا تتصل بسجل غير مصرح به (rogue registry).
هذه الأداة تعمل دون اتصال بالإنترنت (offline)، ولا تتطلب مفاتيح، وتستخدم فقط مكتبة Python القياسية. هي لا تتصل بالشبكة، ولا تقوم بفك حزم البرمجيات، بل تكتفي بالنظر إلى الأسماء المقترحة وتسأل: "هل نضمن هذا الاسم؟"
إذا لم يكن الاسم موجودًا في لقطة الحالة الموثوقة (vouched snapshot) الخاصة بك وليس في خط الأساس الشائع، فإن البوابة تعيد نتيجة DENY.
توقف عن الاعتماد فقط على سجلات لما حدث. ابدأ في تقرير ما يُسمح بحدوثه.
المصدر: https://dev.to/alex_spinov/an-sbom-proves-what-you-installed-it-cant-prove-you-should-have-117c
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi
