SLSA سے آگے: 9-مرحلہ وار منصوبے کے ساتھ CI/CD Worms کو روکیں
آپ کی سافٹ ویئر سیکیورٹی کی حدود (perimeter) منہدم ہو چکی ہے۔
پرانے طریقے کنٹینرز (containers) کو اسکین کرنے اور خراب پیکجز کو بلاک کرنے پر مرکوز تھے۔ اب یہ کافی نہیں ہے۔ 2025 اور 2026 کے درمیان، ایک نیا خطرہ ابھرا ہے۔ حملہ آور اب خود مختار ورمز (autonomous worms) کا استعمال کرتے ہیں جو براہ راست ڈویلپر ٹولز اور CI/CD پائپ لائنز کو متاثر کرتے ہیں۔
SLSA Level 3 جیسے معیاری ٹولز ان خطرات سے بے خبر ہیں۔ ایک ورم (worm) آپ کے کنٹینر بنانے سے پہلے ہی آپ کے کریڈنشلز (credentials) چرا سکتا ہے یا آپ کے کیش (cache) کو زہریلا بنا سکتا ہے۔ آپ کی حتمی سیکیورٹی رپورٹ بالکل درست نظر آ سکتی ہے، چاہے اس میں نقصان دہ کوڈ (malicious code) موجود ہو۔
اسے ٹھیک کرنے کے لیے، IX Hexbreaker Aegis فریم ورک کا استعمال کریں۔ یہ آپ کے لوکل انوائرمنٹ اور AI ایجنٹس کے تحفظ کے لیے 9 مرحلہ وار دفاعی نظام ہے۔
دفاع کے 9 مراحل:
- AI Agent Sandboxing: AI اسسٹنٹ کو الگ تھلگ (isolated) Docker کنٹینرز کے اندر چلائیں۔ یہ انہیں آپ کے ہوسٹ کریڈنشلز چرانے سے روکتا ہے۔
- Workspace Parsing: لوڈ کرنے سے پہلے چھپی ہوئی کنفیگریشن فائلوں میں نقصان دہ ہدایات کے لیے اسکین کریں۔
- Ephemeral Environments: اپنی لوکل مشین کو الگ کرنے کے لیے GitHub Codespaces جیسے ریموٹ ڈویلپمنٹ کنٹینرز کا استعمال کریں۔
- OIDC Scope Minimization: اپنے پائپ لائن ٹوکنز کو کم سے کم ممکنہ اجازتیں (permissions) اور مختصر دورانیہ دیں۔
- Immutable Caching: پل ریکویسٹ (pull requests) کے ذریعے استعمال ہونے والے کیش کو آفیشل ریلیز کے کیش سے الگ رکھیں۔
- Hardware-Backed Commits: YubiKeys جیسی FIDO2 سیکیورٹی کیز کا استعمال کریں۔ ایک ورم کسی کمٹ (commit) پر دستخط کرنے کے لیے جسمانی طور پر کی (key) کو نہیں چھو سکتا۔
- Build-Time Observability: بلڈ کے دوران غیر معمولی عمل (processes) پر نظر رکھنے کے لیے eBPF کا استعمال کریں۔
- Egress Filtering: قابل اعتماد سائٹس کے علاوہ اپنے CI/CD رنرز سے تمام آؤٹ باؤنڈ نیٹ ورک ٹریفک کو بلاک کریں۔
- Zero-Trust AI Prompts: آپ کے AI کوڈنگ ٹولز کیا کر سکتے ہیں اس کی حد مقرر کریں۔ انہیں آپ کی منظوری کے بغیر شیل اسکرپٹس (shell scripts) چلانے کی اجازت نہ دیں۔
اسے کیسے نافذ کیا جائے:
مرحلہ 1: اجازتوں اور کیشنگ کو درست کریں۔ OIDC رسائی کو محدود کریں اور اپنے کیش کیز (cache keys) کو الگ کریں۔
مرحلہ 2: پائپ لائن کو مضبوط بنائیں۔ نیٹ ورک فلٹرز کا استعمال کریں اور اپنے ایکشن ورژنز کو مخصوص کمٹ آئی ڈیز (commit IDs) کے ساتھ پن کریں۔
مرحلہ 3: مکمل علیحدگی۔ تمام ڈویلپمنٹ کو کنٹینرز میں منتقل کریں اور تمام کمٹس کے لیے ہارڈ ویئر سیکیورٹی کیز کو لازمی بنائیں۔
سپلائی چین سیکیورٹی کو محض ایک رسمی کارروائی (checkbox) سمجھنا ناکامی کا باعث بنے گا۔ آپ کو اس ماحول کا تحفظ کرنا ہوگا جہاں کوڈ لکھا جاتا ہے۔
Source: https://dev.to/docker/beyond-slsa-how-to-stop-zero-click-cicd-worms-with-a-9-step-plan-1l36
Optional learning community: https://t.me/GyaanSetuAi