SLSA से परे: 9-चरणीय योजना के साथ CI/CD वर्म्स को रोकें
आपकी सॉफ्टवेयर सुरक्षा सीमा ढह गई है।
पुराने तरीके कंटेनरों को स्कैन करने और खराब पैकेज को ब्लॉक करने पर केंद्रित थे। अब यह पर्याप्त नहीं है। 2025 और 2026 के बीच, एक नया खतरा उभरा है। हमलावर अब स्वायत्त वर्म्स (autonomous worms) का उपयोग करते हैं जो सीधे डेवलपर टूल्स और CI/CD पाइपलाइनों को संक्रमित करते हैं।
SLSA Level 3 जैसे मानक उपकरण इन खतरों के प्रति अंधे हैं। एक वर्म आपके कंटेनर बनाने से पहले ही आपके क्रेडेंशियल्स चुरा सकता है या आपके कैश (cache) को दूषित कर सकता है। आपकी अंतिम सुरक्षा रिपोर्ट बिल्कुल सही लग सकती है, भले ही उसमें दुर्भावनापूर्ण कोड (malicious code) शामिल हो।
इसे ठीक करने के लिए, IX Hexbreaker Aegis फ्रेमवर्क का उपयोग करें। यह आपके स्थानीय वातावरण और AI एजेंटों की सुरक्षा के लिए 9-चरणीय रक्षा प्रणाली है।
रक्षा के 9 चरण:
- AI एजेंट सैंडबॉक्सिंग (AI Agent Sandboxing): AI सहायकों को अलग (isolated) Docker कंटेनरों के भीतर चलाएं। यह उन्हें आपके होस्ट क्रेडेंशियल्स चुराने से रोकता है।
- वर्कस्पेस पार्सिंग (Workspace Parsing): उन्हें लोड करने से पहले दुर्भावनापूर्ण निर्देशों के लिए छिपी हुई कॉन्फ़िगरेशन फ़ाइलों को स्कैन करें।
- अल्पकालिक वातावरण (Ephemeral Environments): अपने स्थानीय मशीन को अलग करने के लिए GitHub Codespaces जैसे रिमोट देव कंटेनरों का उपयोग करें।
- OIDC स्कोप न्यूनीकरण (OIDC Scope Minimization): अपने पाइपलाइन टोकन को न्यूनतम संभव अनुमतियाँ और कम जीवनकाल दें।
- अपरिवर्तनीय कैशिंग (Immutable Caching): पुल रिक्वेस्ट (pull requests) द्वारा उपयोग किए जाने वाले कैश को आधिकारिक रिलीज़ द्वारा उपयोग किए जाने वाले कैश से अलग करें।
- हार्डवेयर-समर्थित कमिट्स (Hardware-Backed Commits): YubiKeys जैसी FIDO2 सुरक्षा कुंजियों का उपयोग करें। एक वर्म कमिट साइन करने के लिए भौतिक रूप से कुंजी को नहीं छू सकता।
- बिल्ड-टाइम ऑब्जर्वेबिलिटी (Build-Time Observability): बिल्ड के दौरान अजीब प्रक्रियाओं पर नज़र रखने के लिए eBPF का उपयोग करें।
- एग्रेस फ़िल्टरिंग (Egress Filtering): विश्वसनीय साइटों को छोड़कर अपने CI/CD रनर्स से सभी आउटबाउंड नेटवर्क ट्रैफ़िक को ब्लॉक करें।
- ज़ीरो-ट्रस्ट AI प्रॉम्प्ट्स (Zero-Trust AI Prompts): आपके AI कोडिंग टूल्स क्या कर सकते हैं, इस पर सीमाएँ लगाएँ। उन्हें आपकी अनुमति के बिना शेल स्क्रिप्ट चलाने न दें।
इसे कैसे लागू करें:
चरण 1: अनुमतियों और कैशिंग को ठीक करें। OIDC एक्सेस को सीमित करें और अपनी कैश कुंजियों (cache keys) को अलग करें।
चरण 2: पाइपलाइन को मजबूत (harden) करें। नेटवर्क फ़िल्टर का उपयोग करें और अपने एक्शन वर्शन्स को विशिष्ट कमिट आईडी (commit IDs) पर पिन करें।
चरण 3: पूर्ण अलगाव (Total isolation)। सभी विकास को कंटेनरों में स्थानांतरित करें और सभी कमिट्स के लिए हार्डवेयर सुरक्षा कुंजियों को अनिवार्य करें।
सप्लाई चेन सुरक्षा को केवल एक चेकबॉक्स की तरह मानना विफलता का कारण बनेगा। आपको उस वातावरण की रक्षा करनी होगी जहाँ कोड लिखा जाता है।
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