यह लेख सह-लेखक हैं मिकी स्ट्रॉस और विक्टर कार्तशोव.
OWASP के शीर्ष 10 जोखिमों को स्वचालित, ऑडिट योग्य नियंत्रणों में बदलें
आधुनिक DevOps परिवेशों में, CI/CD पाइपलाइनें सॉफ़्टवेयर डिलीवरी की रीढ़ हैं। लेकिन तेज़ गति के साथ-साथ बेहतर प्रदर्शन भी आता है। जैसे-जैसे संगठन रिलीज़ में तेज़ी ला रहे हैं, हमलावर दुर्भावनापूर्ण कोड डालने, राज़ चुराने, या आपूर्ति श्रृंखला की अखंडता से समझौता करने के लिए असुरक्षित पाइपलाइनों को तेज़ी से निशाना बना रहे हैं।
इसका समाधान करने के लिए, OWASP शीर्ष 10 CI/CD सुरक्षा जोखिम ढाँचा विकास पाइपलाइनों में सबसे आम और महत्वपूर्ण कमज़ोरियों पर प्रकाश डालता है। मुंशी सुरक्षाहमने इस ढांचे को इसलिए अपनाया है ताकि संगठनों को हस्ताक्षरित साक्ष्य, पहल-आधारित प्रवर्तन और नीति-एज़-कोड के माध्यम से CI/CD सुरक्षा को सीधे उनके वर्कफ़्लो में एम्बेड करने में मदद मिल सके।
OWASP CI/CD जोखिम क्यों महत्वपूर्ण हैं
पारंपरिक सुरक्षा उपकरण आधुनिक पाइपलाइनों की गति के साथ तालमेल बिठाने में संघर्ष करते हैं। स्वचालित प्रवर्तन और दृश्यता के बिना, सामान्य समस्याएँ सामने आ जाती हैं:
❌ पाइपलाइन कॉन्फ़िगरेशन में हार्डकोडेड रहस्य
❌ बिना किसी मूल स्रोत के छेड़छाड़ की गई कलाकृतियाँ
❌ सार्वजनिक रजिस्ट्री से असुरक्षित आधार छवियाँ निकाली गईं
❌ बिना किसी 2FA या समीक्षा नियंत्रण के व्यवस्थापक-स्तरीय पहुँच
OWASP फ्रेमवर्क इन जोखिमों को औपचारिक रूप देता है, और उपचार के लिए एक साझा भाषा और संरचना प्रदान करता है। स्क्राइब में, हम इसका उपयोग ऐसी पहलों को परिभाषित करने के लिए करते हैं जो आपकी CI/CD पाइपलाइनों की सुरक्षा स्थिति को स्वचालित रूप से सत्यापित करती हैं, बिना आपकी बिल्ड प्रक्रिया में बड़े बदलाव किए।
सुरक्षा हस्ताक्षरित साक्ष्य से शुरू होती है
यह प्रमाणित करने के लिए कि आपकी पाइपलाइन सुरक्षित है, हम निम्नलिखित साक्ष्य एकत्रित करते हैं और उन पर क्रिप्टोग्राफ़िक हस्ताक्षर करते हैं:
- गिट एसबीओएम और इमेज एसबीओएम
का उपयोग करके उत्पन्न किया गया scribe-security/action-bomये आपके कोड और कंटेनरों में क्या है, इसकी पूरी जानकारी प्रदान करते हैं। - एसएलएसए उद्गम
यह बताता है कि आपकी कलाकृतियाँ कैसे, कहाँ और किसके द्वारा बनाई गई थीं। - GitHub org और रेपो स्कैन
के माध्यम से चलाएँ एक्शन-प्लेटफ़ॉर्म गुप्त जानकारी, कॉन्फ़िगरेशन विचलन और गलत कॉन्फ़िगर किए गए एक्सेस की जांच करने के लिए।
इन सभी साक्ष्यों पर हस्ताक्षर किए जाते हैं, जिससे अखंडता और पता लगाने की क्षमता सुनिश्चित होती है, तथा जीवनचक्र ट्रैकिंग के लिए इन्हें विशिष्ट उत्पादों और संस्करणों के साथ मैप किया जाता है।
📌 हमने इस साक्ष्य-संचालित मॉडल को अपने पिछले पोस्टों में कवर किया था एसएलएसए अनुपालन और एसपी 800–190 प्रवर्तन.
🔒 पॉलिसी-एज़-कोड के माध्यम से OWASP नियंत्रण लागू करना
स्क्राइब में, हम OWASP के शीर्ष 10 CI/CD जोखिमों को एक में मैप करते हैं नीति-के-रूप-में-कोड पहल जो सीधे आपकी CI पाइपलाइन में चलता है। प्रत्येक जोखिम को स्थानीय में परिभाषित एक विन्यास योग्य नियम के रूप में दर्शाया जाता है owasp-top10-cicd.yaml सत्यापन चरण के दौरान इन नियमों का स्वचालित रूप से मूल्यांकन किया जाता है, जिससे कार्रवाई योग्य प्रतिक्रिया और सुधारात्मक मार्गदर्शन मिलता है।
यहां कुछ प्रमुख नियंत्रण शामिल हैं:
- सीआईसीडी-एसईसी-1 : शाखा सुरक्षा नियम लागू करें
महत्वपूर्ण शाखाओं जैसे सीधे पुश को प्रतिबंधित करके अनधिकृत कोड परिवर्तनों को रोकें मुख्य. - सीआईसीडी-एसईसी-2 : पहचान और पहुँच प्रबंधन नियंत्रण
अपने Git प्रदाता में बहु-कारक प्रमाणीकरण (MFA) की आवश्यकता है और प्रशासनिक विशेषाधिकारों को सीमित करें। - सीआईसीडी-एसईसी-3 : निर्भरता सत्यापन
सुनिश्चित करें कि सभी आधार छवियां और तृतीय-पक्ष निर्भरताएं अनुमोदित और विश्वसनीय रजिस्ट्री से ली गई हैं। - सीआईसीडी-एसईसी-4 : जहरीली पाइपलाइन के निष्पादन की रोकथाम
अपने वर्कफ़्लो में दुर्भावनापूर्ण तर्क को शामिल करने से बचने के लिए CI/CD स्क्रिप्ट को कौन संशोधित कर सकता है, इसे प्रतिबंधित करें। - सीआईसीडी-एसईसी-6 : क्रेडेंशियल स्वच्छता प्रवर्तन
हार्डकोडेड सीक्रेट्स, एक्सपायर टोकन या लीक हुए क्रेडेंशियल्स के लिए स्कैन करें - फिर रिलीज से पहले उन्हें चिह्नित करें।
इनमें से प्रत्येक नियंत्रण को आपके संगठन की जोखिम सहनशीलता, परिवेश या अनुपालन आवश्यकताओं के आधार पर अनुकूलित किया जा सकता है। चूँकि इसे कोड के रूप में परिभाषित किया गया है, इसलिए आपकी सुरक्षा स्थिति लेखापरीक्षा योग्य, संस्करण-नियंत्रित, तथा स्वचालन द्वारा लागू करने योग्य.
✅ प्रो टिप: आप विशिष्ट नियमों को शामिल या बहिष्कृत कर सकते हैं, गंभीरता की सीमाएं निर्धारित कर सकते हैं, और यहां तक कि सुधार संबंधी सलाह को भी अनुकूलित कर सकते हैं - सीधे अपनी पहल कॉन्फ़िगरेशन फ़ाइल में।
इन नियंत्रणों को अपनी पाइपलाइन में लाकर, आप तदर्थ समीक्षाओं से आगे बढ़ते हैं स्वचालित, सत्यापन योग्य सुरक्षा प्रवर्तन - आपकी सॉफ्टवेयर आपूर्ति श्रृंखला की सुरक्षा में एक महत्वपूर्ण कदम।
GitHub क्रियाएँ: वास्तविक दुनिया CI/CD एकीकरण
यहां OWASP टॉप 10 CI/CD फ्रेमवर्क के अनुपालन को सत्यापित करने, साक्ष्य एकत्र करने, संगठन को स्कैन करने और अनुपालन को सत्यापित करने के लिए स्क्राइब की क्रियाओं का उपयोग करने वाला एक उदाहरण वर्कफ़्लो दिया गया है:
नाम: OWASP CI/CD सुरक्षित बिल्ड ऑन: पुश: शाखाएं: - मुख्य env: PRODUCT_NAME: my-app PRODUCT_VERSION: v1.0 नौकरियां: बिल्ड: रन-ऑन: ubuntu-नवीनतम आउटपुट: छवि-नाम: ${{ steps.meta.outputs.image }} चरण: - उपयोग: actions/checkout@v4 - उपयोग: docker/setup-buildx-action@v3 - चलाएं: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker लॉगिन ${{ secrets.REGISTRY_URL }} -u ${{ secrets.REGISTRY_USER }} --password-stdin - id: मेटा उपयोग: docker/build-push-action@v5 के साथ: संदर्भ: . पुश: सत्य टैग: ${{ secrets.REGISTRY_URL }}/my-app:${{ github.sha }} - उपयोग: scribe-security/action-bom@master के साथ: लक्ष्य: 'git:.' उत्पाद-कुंजी: ${{ env.PRODUCT_NAME }} उत्पाद-संस्करण: ${{ env.PRODUCT_VERSION }} प्रारूप: सत्यापित करें - उपयोग करता है: scribe-security/action-bom@master इसके साथ: लक्ष्य: ${{ secrets.REGISTRY_URL }}/my-app:${{ github.sha }} आधार-छवि: Dockerfile उत्पाद-कुंजी: ${{ env.PRODUCT_NAME }} उत्पाद-संस्करण: ${{ env.PRODUCT_VERSION }} प्रारूप: सत्यापित करें - उपयोग करता है: scribe-security/action-verify@master इसके साथ: लक्ष्य: ${{ secrets.REGISTRY_URL }}/my-app:${{ github.sha }} उत्पाद-कुंजी: ${{ env.PRODUCT_NAME }} उत्पाद-संस्करण: ${{ env.PRODUCT_VERSION }} पहल: slsa.l2@v2 उद्गम: सत्य प्रारूप: सत्यापित करें सुशोभित करें: सत्य org-scan: चलता है: ubuntu-नवीनतम चरण: - उपयोग: scribe-security/action-platforms@master इसके साथ: कमांड: discover प्लेटफ़ॉर्म: github साइन: true attest-default: sigstore args: >- --token ${{ secrets.GITHUB_PAT }} --organization.mapping ${{ github.repository_owner }}::${{ env.PRODUCT_NAME }}::${{ env.PRODUCT_VERSION }} --repository.mapping $(basename ${{ github.repository }})::${{ env.PRODUCT_NAME }}::${{ env.PRODUCT_VERSION }} --scope.workflow.past_days 1 --scope.branch ${{ github.ref_name }} --hook trivy_iac_and_secrets_sarif सत्यापित करें: चलता है: ubuntu-नवीनतम की जरूरत है: [build, org-scan] चरण: - उपयोग: scribe-security/action-verify@master इसके साथ: initiative: owasp-top10-cicd.yaml उत्पाद-कुंजी: ${{ env.PRODUCT_NAME }} उत्पाद-संस्करण: ${{ env.PRODUCT_VERSION }} प्रारूप: attest all-evidence: true beautify: true
कार्रवाई में निरंतर अनुपालन
इस वर्कफ़्लो के परिणामस्वरूप एक सत्यापन योग्य सत्यापन प्राप्त होता है जो दर्शाता है कि आपकी पाइपलाइन के कौन से OWASP जोखिम सफल या असफल होते हैं। प्रत्येक उल्लंघन को विशिष्ट साक्ष्य (SBOM, वर्कफ़्लो लॉग और संगठन कॉन्फ़िगरेशन) द्वारा ट्रैक किया जा सकता है, जिससे टीमें समस्याओं को शीघ्रता और आत्मविश्वास से ठीक कर सकती हैं।
देखना चाहते हैं कि असल दुनिया में यह कैसा दिखता है? यहाँ हमारी एक आंतरिक पाइपलाइन से स्कैन का एक उदाहरण दिया गया है:

सारांश दृश्य

उल्लंघन दृश्य

साक्ष्य दृश्य
यह सामग्री आपके लिए स्क्राइब सिक्योरिटी द्वारा लाई गई है, जो एक अग्रणी एंड-टू-एंड सॉफ्टवेयर आपूर्ति श्रृंखला सुरक्षा समाधान प्रदाता है - जो संपूर्ण सॉफ्टवेयर आपूर्ति श्रृंखलाओं में कोड कलाकृतियों और कोड विकास और वितरण प्रक्रियाओं के लिए अत्याधुनिक सुरक्षा प्रदान करता है। और अधिक जानें.