
सॉफ़्टवेयर बिल ऑफ़ मटेरियल्स (SBOMs) की सुरक्षा कमजोरियों के लिए स्कैन करता है

bomber एक एप्लिकेशन है जो SBOMs को सुरक्षा कमजोरियों के लिए स्कैन करता है।
तो आपने एक विक्रेता से उनके एक बंद-स्रोत उत्पाद के लिए सॉफ्टवेयर बिल ऑफ मटेरियल्स (SBOM) मांगा है, और उन्होंने आपको एक JSON फ़ाइल में प्रदान किया है... अब क्या?
पहली चीज़ जो आप करना चाहेंगे वह यह देखना है कि SBOM के अंदर सूचीबद्ध किसी भी घटक में सुरक्षा कमजोरियाँ हैं या नहीं, और इन घटकों के पास किस प्रकार के लाइसेंस हैं। यह आपको यह पहचानने में मदद करेगा कि उत्पाद का उपयोग करके आप किस प्रकार का जोखिम उठा रहे हैं।
SBOM में पहचाने गए घटकों के लिए सुरक्षा कमजोरियाँ और लाइसेंस जानकारी ढूंढना ठीक वही है जो bomber करने के लिए बनाया गया है। bomber किसी भी JSON या XML आधारित CycloneDX प्रारूप, या JSON SPDX या Syft स्वरूपित SBOM को पढ़ सकता है, और आपको बहुत जल्दी बता सकता है कि कोई कमजोरी है या नहीं।
सॉफ्टवेयर या तो ओपन सोर्स या क्लोज्ड सोर्स हो सकता है। आप GitHub या किसी भी सार्वजनिक स्रोत रिपॉजिटरी में मिलने वाले तृतीय-पक्ष घटकों को ओपन सोर्स के रूप में देख सकते हैं। तकनीकी रूप से, आप अपनी कंपनी में आंतरिक रूप से बनाए गए सॉफ्टवेयर को भी ओपन सोर्स मान सकते हैं - यह सार्वजनिक नहीं है, लेकिन आपकी आंतरिक टीमें इसे देख सकती हैं। क्लोज्ड सोर्स सॉफ्टवेयर भी आंतरिक हो सकता है, लेकिन आमतौर पर यह वह सॉफ्टवेयर है जिसे आप बाहरी विक्रेताओं से खरीदते हैं।
कंपनियाँ GitHub, Sonatype, Snyk आदि जैसे विक्रेताओं द्वारा प्रदान किए गए SCA टूल का उपयोग करके किसी भी प्रकार के ओपन सोर्स को स्कैन कर सकती हैं और कमजोरी डेटा प्रदान कर सकती हैं - और कुछ मामलों में SBOM भी उत्पन्न कर सकती हैं। वे अभी तक (अभी तक...) वह क्लोज्ड सोर्स सॉफ्टवेयर स्कैन नहीं कर सकतीं जिसमें आपकी दृश्यता नहीं है। यहाँ SBOM और bomber की भूमिका आती है। SBOM उस सॉफ्टवेयर की संरचना प्रदान करते हैं जिसे आप एक्सेस नहीं कर सकते, और bomber यह निर्धारित करता है कि SBOM में किसी भी चीज़ में कमजोरियाँ हैं या नहीं।
हमने bomber को उन क्लोज्ड सोर्स SBOMs को स्कैन करने के लिए बनाया है जो विक्रेताओं से प्राप्त होने पर प्रदान किए जाते हैं। यह ओपन सोर्स SBOMs को भी स्कैन कर सकता है, और तकनीकी रूप से आप चाहें तो bomber का उपयोग एक ओपन सोर्स SCA टूल के रूप में भी कर सकते हैं।
आजकल काफी सारे SBOM प्रारूप उपलब्ध हैं। bomber निम्नलिखित का समर्थन करता है:

bomber कमजोरी जानकारी के लिए कई स्रोतों का समर्थन करता है। हम इन्हें प्रदाता कहते हैं। वर्तमान में, bomber डिफ़ॉल्ट प्रदाता के रूप में OSV का उपयोग करता है, लेकिन आप Github Advisory Database, Sonatype OSS Index, या Snyk का भी उपयोग कर सकते हैं।
इस समय, कृपया ध्यान दें कि OSV निःशुल्क है और इसका उपयोग करने के लिए किसी क्रेडेंशियल की आवश्यकता नहीं है, Sonatype OSS Index निःशुल्क है लेकिन इसमें पंजीकरण और टोकन प्राप्त करना आवश्यक है, और Snyk समर्थन के लिए Snyk लाइसेंस की आवश्यकता है।
प्रदाताओं से bomber द्वारा एकत्रित किए गए डेटा के अलावा, यह डेटा संवर्धन के माध्यम से कमजोरी डेटा को अतिरिक्त जानकारी जैसे शोषण संभावनाओं से समृद्ध करता है।
कृपया ध्यान दें कि प्रत्येक प्रदाता विभिन्न इकोसिस्टम का समर्थन करता है, इसलिए यदि आप एक में कोई कमजोरी नहीं देख रहे हैं, तो दूसरे का प्रयास करें। इकोसिस्टम का सीधा अर्थ पैकेज मैनेजर या पैकेज का प्रकार है। उदाहरणों में rpm, npm, gems आदि शामिल हैं। यह समझना महत्वपूर्ण है कि प्रत्येक प्रदाता विभिन्न कमजोरियों की रिपोर्ट कर सकता है। यदि संदेह हो, तो कुछ प्रदाताओं को देखें।
यदि bomber को कोई कमजोरी नहीं मिलती है, तो इसका मतलब यह नहीं है कि कोई कमजोरी नहीं है। इसका केवल यह अर्थ है कि उपयोग किए जा रहे प्रदाता ने कोई पहचान नहीं की, या वह इकोसिस्टम का समर्थन नहीं करता है। कुछ प्रदाताओं से ऐसी कमजोरियाँ आती हैं जिनमें कोई गंभीरता जानकारी नहीं होती। ऐसे मामले में, गंभीरता को "UNDEFINED" के रूप में सूचीबद्ध किया जाएगा।
bomber के लिए प्रदाता दस्तावेज़ीकरण यहाँ पाया जा सकता है:
आप bomber को स्थापित करने के लिए Homebrew का उपयोग कर सकते हैं:
brew tap devops-kung-fu/homebrew-tap
brew install devops-kung-fu/homebrew-tap/bomber
यदि आपके पास Homebrew नहीं है, तो आप नवीनतम रिलीज़ डाउनलोड (उदा.: bomber_0.4.1_darwin_all.tar.gz) कर सकते हैं, आर्काइव से फ़ाइलें निकाल सकते हैं, और bomber बाइनरी का उपयोग कर सकते हैं।
यदि आप चाहें, तो bomber बाइनरी को अपने /usr/local/bin निर्देशिका या अपने पथ पर कहीं भी ले जा सकते हैं।
bomber स्थापित करने के लिए, अपने प्लेटफ़ॉर्म के लिए नवीनतम रिलीज़ डाउनलोड करें और स्थानीय रूप से स्थापित करें। उदाहरण के लिए, Ubuntu पर bomber स्थापित करें:
dpkg -i bomber_0.5.0_linux_arm64.deb