প্রকল্প সম্পর্কে

এই প্রকল্পটি Linux Foundation-এর Automating Compliance Tooling TAC-এর অধীনে ইনকিউবেটেড, যা মূলত Kubernetes প্রকল্পের জন্য SBOM তৈরি করতে উন্নত করা হয়েছিল। এর মূল সক্ষমতাগুলো তিনটি প্রধান ক্ষেত্র কভার করে। প্রথমত, SBOM জেনারেশন: bom generate সাবকমান্ড একাধিক উৎস থেকে SPDX-ফরম্যাট SBOM তৈরি সমর্থন করে, যার মধ্যে রয়েছে স্থানীয় ডিরেক্টরি, পৃথক ফাইল, দূর থেকে টানা কন্টেইনার ইমেজ, স্থানীয় Docker tar আর্কাইভ, এবং tar/tar.gz আর্কাইভ ফাইল। ডিফল্টভাবে, এটি SPDX 2.3 JSON বা tag-value ডকুমেন্ট আউটপুট দেয়, সাথে protobom দ্বারা চালিত SPDX 3.0.1 JSON-LD আউটপুটের পরীক্ষামূলক সমর্থন রয়েছে। স্থানীয় ডিরেক্টরি স্ক্যান করার সময়, এটি ডিফল্টভাবে .gitignore নিয়ম অনুসরণ করে, --ignore ফ্ল্যাগের মাধ্যমে কাস্টম ইগনোর প্যাটার্ন সমর্থন করে, এবং --no-gitignore ফ্ল্যাগ দিয়ে gitignore নিয়ম প্রয়োগ নিষ্ক্রিয় করতে পারে। টুলটিতে একটি বিল্ট-ইন লাইসেন্স ক্লাসিফায়ার রয়েছে যা SPDX ক্যাটালগে 400-এর বেশি লাইসেন্স চিনতে পারে। এটি স্বয়ংক্রিয়ভাবে Go মডিউল নির্ভরতা সমাধান করতে পারে, Alpine, Debian, এবং RPM-ভিত্তিক কন্টেইনার ইমেজে সিস্টেম প্যাকেজ শনাক্ত করতে পারে, এবং Go বাইনারিতে এমবেড করা বিল্ড তথ্য বের করে তাদের নির্ভরশীল মডিউল ম্যাপ করতে পারে। এটি --provenance ফ্ল্যাগের মাধ্যমে SBOM-গুলোকে in-toto provenance স্টেটমেন্ট হিসেবে এক্সপোর্ট করাও সমর্থন করে, যা সরাসরি CI/CD পাইপলাইনে পরবর্তী প্রক্রিয়াকরণের জন্য সংহত করা যায়। দ্বিতীয়ত, SBOM ডকুমেন্ট অপারেশন: bom document সাবকমান্ড তিনটি ফাংশন প্রদান করে। outline সাবকমান্ড SBOM কন্টেন্ট স্ট্রাকচারকে একটি ট্রি হিসেবে রেন্ডার করে, --purl-এর মাধ্যমে প্যাকেজ URL লেবেলিং, --depth-এর মাধ্যমে ডিসপ্লে গভীরতা সীমাবদ্ধতা, এবং --find-এর মাধ্যমে একটি নির্দিষ্ট প্যাকেজের সোর্স শাখা সনাক্তকরণ সমর্থন করে। query সাবকমান্ড গভীরতা, নাম, বা প্যাকেজ URL-এর মতো ফিল্টার দ্বারা SBOM-এ এলিমেন্ট খোঁজে। dot সাবকমান্ড SBOM সম্পর্ক গ্রাফ Graphviz DOT ফরম্যাটে এক্সপোর্ট করে, --root-এর মাধ্যমে একটি নির্দিষ্ট রুট এলিমেন্ট থেকে রেন্ডারিং, --depth-এর মাধ্যমে সম্পর্ক ট্রাভার্সাল গভীরতা সীমাবদ্ধতা, এবং --no-files-এর মাধ্যমে ফাইল এলিমেন্ট বাদ দেওয়া সমর্থন করে। তৃতীয়ত, অখণ্ডতা যাচাই: bom validate সাবকমান্ড SBOM-এ রেকর্ড করা চেকসামের বিরুদ্ধে পৃথক ফাইল বা সম্পূর্ণ ডিরেক্টরির অখণ্ডতা পরীক্ষা করে। অতিরিক্তভাবে, টুলটি sigs.k8s.io/bom/pkg/bom প্যাকেজের মাধ্যমে একটি Go লাইব্রেরি হিসেবেও ব্যবহার করা যায়, যা protobom-এর ফরম্যাট-নিরপেক্ষ অবজেক্ট মডেলের উপর ভিত্তি করে SBOM তৈরি, পড়া, এবং লেখা সমর্থন করে, এবং আউটপুট অন্য SPDX বা CycloneDX ফরম্যাটে সিরিয়ালাইজ করতে পারে। পুরোনো sigs.k8s.io/bom/pkg/spdx অবজেক্ট মডেলটি ডেপ্রিকেটেড, সাথে একটি অফিসিয়াল মাইগ্রেশন গাইড প্রদান করা হয়েছে। টুলটি go install sigs.k8s.io/bom/cmd/bom@latest চালিয়ে সর্বশেষ সংস্করণ পেয়ে ইনস্টল করা যায়।