Bosh sahifa Wiki SBOM

SBOM

SBOM (Software Bill of Materials) — dasturiy mahsulot tarkibidagi komponentlar, ularning versiyalari va o‘zaro bog‘lanishlarini mashina o‘qiy oladigan shaklda ro‘yxatlovchi hujjatdir. U ishlab chiqarishdagi “materiallar ro‘yxati”ga o‘xshaydi: artifact ichida qaysi ochiq kodli paketlar, proprietary modullar va kutubxonalar borligini kuzatishga yordam beradi.

Ma’lumot modeli

SBOM odatda komponent nomi, versiya, supplier, package URL, checksum, litsenziya va dependency munosabatlarini saqlaydi. Har maydon hamma generatorlarda mavjud bo‘lavermaydi. SPDX va CycloneDX keng qo‘llanadigan formatlardir; ikkalasi ham JSON yoki boshqa serializatsiyalarda uzatilishi mumkin.

Dependency graph bevosita va tranzitiv bog‘liqliklarni ajratadi. Masalan, dastur o‘zi chaqirmaydigan kutubxona framework orqali kelgan bo‘lishi mumkin. Faqat top-level package manifestini nusxalash to‘liq SBOM bermaydi.

Yaratish va bog‘lash

Eng ishonchli SBOM build pipeline ichida yaratiladi. Generator package manager lock fayllari, kompilyator metadata’si, container qatlamlari va fayl tizimini tahlil qilishi mumkin. Build-time ma’lumot source dependency’larni yaxshi ko‘rsatadi; final artifact scan esa haqiqatan yetkazilgan fayllarni aniqlaydi. Ikki yondashuv birga ishlatilganda farqlar tekshiriladi.

SBOM aniq artifact digestiga bog‘lanadi. Bir xil release nomi ostida turli platforma binary’lari bo‘lsa, har variantning tarkibi farq qilishi mumkin. Container image uchun manifest yoki platformaga xos image digest qayd etiladi.

Zaifliklarni tahlil qilish

Yangi CVE e’lon qilinganda SBOM inventory’si qaysi mahsulotlarda tegishli komponent versiyasi borligini tez qidirish imkonini beradi. Vulnerability scanner package nomi va versiyasini advisory bazasi bilan solishtiradi. Bu natija boshlang‘ich signal bo‘lib, ekspluatatsiya mumkinligini o‘zi isbotlamaydi: zaif kod yo‘li chaqirilmasligi yoki vendor patchni versiya raqamini o‘zgartirmay backport qilgan bo‘lishi mumkin.

VEX hujjati ma’lum zaiflikning mahsulotga ta’sir holatini, masalan “ta’sirlanmagan” yoki “tuzatilgan” deb ifodalashi mumkin. VEX SBOM o‘rnini bosmaydi; u komponent inventory’siga xavfsizlik kontekstini qo‘shadi.

Litsenziya va ta’minot zanjiri

Litsenziya maydonlari legal review uchun komponentlarni saralashga yordam beradi. NOASSERTION kabi qiymat litsenziya aniqlanmaganini ko‘rsatadi, avtomatik ravishda foydalanish taqiqlanganini emas. Source va binary uchun litsenziya xulosasi farq qilishi mumkin.

SBOM artifactning zararli emasligini kafolatlamaydi. Soxta yoki to‘liq bo‘lmagan ro‘yxat ham syntactically valid bo‘lishi mumkin. Shu sababli provenance build qayerda va qanday bajarilganini, signature esa hujjat o‘zgarmaganini ko‘rsatadi. Attestation SBOM, artifact digest va builder identity’ni bog‘laydi.

Hayot davri

SBOM release bilan birga saqlanadi va artifact retention muddatiga mos arxivlanadi. Dependency yangilanganda eski hujjat tahrirlanmaydi; yangi build uchun yangi SBOM yaratiladi. Tashkilot minimum completeness, format versiyasi va majburiy identifierlar bo‘yicha sifat darvozasini belgilashi mumkin.

Maxfiy mahsulotlarda SBOM komponent nomlari arxitektura haqida ma’lumot oshkor qilishi mumkin. Kimga to‘liq ro‘yxat, kimga qisqartirilgan ko‘rinish berilishi access policy bilan boshqariladi. Biroq ichki security jamoasi incident paytida to‘liq inventory’ga tez kira olishi zarur.

Sifat muammolari

Bir komponent turli ecosystemlarda boshqa nom bilan qayd etilishi mumkin. Package URL va checksum noaniq nomlarni kamaytiradi. Vendored source, statik bog‘langan kutubxona, generatsiya qilingan kod va runtime’da yuklanadigan pluginlar oddiy package scan’dan chetda qolishi mumkin. Completeness mezoni artifact turiga mos belgilanadi.

SBOMlar o‘rtasidagi farq release review’da foydali: yangi dependency, litsenziya o‘zgarishi yoki kutilmagan package olib tashlanishi ko‘rinadi. Natija avtomatik policy’ga kirsa, generator versiyasi va normalizatsiya qoidalari ham versionlanadi; aks holda vosita yangilanishi yolg‘on katta farq yaratadi.

Bog‘liq tushunchalar

Software composition analysis, SPDX, CycloneDX, CVE, VEX, Provenance, Attestation, Package URL