ما وراء SLSA: أوقف ديدان CI/CD بخطة من 9 خطوات
لقد انهار محيط أمن البرمجيات الخاص بك.
ركزت الأساليب القديمة على فحص الحاويات (containers) وحظر الحزم الضارة. لم يعد هذا كافيًا. فبين عامي 2025 و2026، ظهر تهديد جديد؛ حيث يستخدم المهاجمون الآن ديدانًا ذاتية التشغيل (autonomous worms) تصيب أدوات المطورين وخطوط أنابيب CI/CD مباشرة.
الأدوات القياسية مثل SLSA Level 3 عاجزة عن رصد هذه التهديدات. يمكن للدودة أن تسرق بيانات اعتمادك أو تسمم ذاكرة التخزين المؤقت (cache) الخاصة بك حتى قبل أن تقوم ببناء حاوية. قد يبدو تقرير الأمان النهائي الخاص بك مثاليًا حتى لو كان يحتوي على كود برمجى خبيث.
لإصلاح ذلك، استخدم إطار عمل IX Hexbreaker Aegis. هذا دفاع مكون من 9 خطوات لحماية بيئتك المحلية ووكلاء الذكاء الاصطناعي (AI agents).
خطوات الدفاع التسع:
- عزل وكلاء الذكاء الاصطناعي (AI Agent Sandboxing): قم بتشغيل مساعدي الذكاء الاصطناعي داخل حاويات Docker معزولة. هذا يمنعهم من سرقة بيانات اعتماد المضيف (host credentials).
- تحليل مساحة العمل (Workspace Parsing): افحص ملفات التكوين المخفية بحثًا عن تعليمات خبيثة قبل تحميلها.
- البيئات المؤقتة (Ephemeral Environments): استخدم حاويات تطوير عن بُعد مثل GitHub Codespaces لعزل جهازك المحلي.
- تقليل نطاق OIDC (OIDC Scope Minimization): امنح رموز (tokens) خط أنابيبك أقل الصلاحيات الممكنة وفترات صلاحية قصيرة.
- التخزين المؤقت غير القابل للتغيير (Immutable Caching): افصل بين ذاكرات التخزين المؤقت المستخدمة في طلبات السحب (pull requests) وتلك المستخدمة في الإصدارات الرسمية.
- عمليات الإرسال المدعومة بالأجهزة (Hardware-Backed Commits): استخدم مفاتيح أمان FIDO2 مثل YubiKeys. لا يمكن للدودة لمس المفتاح فعليًا لتوقيع عملية إرسال (commit).
- قابلية المراقبة أثناء البناء (Build-Time Observability): استخدم eBPF لمراقبة العمليات الغريبة أثناء عملية البناء.
- تصفية حركة المرور الصادرة (Egress Filtering): احظر جميع حركات مرور الشبكة الصادرة من مشغلات (runners) CI/CD الخاصة بك باستثناء المواقع الموثوقة.
- مطالبات الذكاء الاصطناعي القائمة على مبدأ "انعدام الثقة" (Zero-Trust AI Prompts): حدد ما يمكن لأدوات البرمجة بالذكاء الاصطناعي القيام به. لا تسمح لها بتشغيل سكربتات shell دون موافقتك.
كيفية تنفيذ ذلك:
المرحلة 1: إصلاح الأذونات والتخزين المؤقت. حد من الوصول عبر OIDC واعزل مفاتيح التخزين المؤقت الخاصة بك.
المرحلة 2: تحصين خط الأنابيب. استخدم مرشحات الشبكة وقم بتثبيت إصدارات الإجراءات (actions) على معرفات إرسال (commit IDs) محددة.
المرحلة 3: العزل التام. انقل جميع عمليات التطوير إلى حاويات وافرض استخدام مفاتيح الأمان المادية لجميع عمليات الإرسال (commits).
إن التعامل مع أمن سلسلة التوريد كمجرد "خانة اختيار" سيؤدي إلى الفشل. يجب عليك حماية البيئة التي يُكتب فيها الكود.
المصدر: https://dev.to/docker/beyond-slsa-how-to-stop-zero-click-cicd-worms-with-a-9-step-plan-1l36
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi