SBOM Formatları: SPDX vs CycloneDX ve Pratik Uygulama 2026

SBOM format seçimi tedarik zinciri güvenlik programınızın temelini belirler: yanlış format, ileride milyonlarca satır JSON’u yeniden üretmek anlamına gelir. 2026 itibarıyla iki format domine ediyor — Linux Foundation tarafından yönetilen SPDX 3.0 ve OWASP çatısı altındaki CycloneDX 1.6. ABD Executive Order 14028 ve EU Cyber Resilience Act (CRA) sonrası SBOM, opsiyonel uyum belgesi olmaktan çıkıp zorunlu artefakt haline geldi. Pratik soru şu: hangi sbom format hangi pipeline için optimal, signing/attestation katmanı SLSA Level 3’e nasıl bağlanır?

Kısa cevap: lisans compliance ağırlıklı supply chain envanteri için SPDX 3.0; vulnerability management ve VEX entegrasyonu senaryoları için CycloneDX 1.6 tercih edilir. Çoğu olgun program ikisini de üretir — Syft ve Trivy tek geçişte iki formatı da çıkarır. Bu rehberde iki spesifikasyonu nesne modeline kadar açar, somut farkları tablolarla gösterir, Syft/Trivy/cdxgen/Dependency-Track ile gerçek bir tedarik zinciri pipeline’ı kurarız.

SBOM Nedir, Neden 2026’da Zorunlu Hale Geldi

Software Bill of Materials (SBOM), bir yazılım artefaktının (binary, container image, firmware) içerdiği tüm bileşenleri — direct ve transitive bağımlılıklar dahil — makine-okunur formatta listeleyen envanterdir. SolarWinds (Aralık 2020), Log4Shell (Aralık 2021) ve XZ Utils backdoor (Mart 2024) olaylarından sonra düzenleyici baskı kritik kütleye ulaştı. ENISA 2023 Threat Landscape raporuna göre supply chain saldırıları 2020-2023 arasında %431 arttı, IBM Cost of a Data Breach 2024 raporunda ortalama olay maliyeti 4.88 milyon USD.

SBOM’un üç katmanı vardır: build-time (kaynak koddan üretilen, en doğru), analyzed (binary üzerinden tersine mühendislik, transitive eksik), deployed (runtime’daki container’ın gerçek durumu). NTIA “Minimum Elements” her bileşen için 7 zorunlu alan tanımlar: supplier, component, version, unique identifier (PURL/CPE), dependency relationship, author, timestamp. CycloneDX ve SPDX 3.0 bu yedi alanı superset olarak içerir.

RegülasyonCoğrafyaYürürlükSBOM Gereksinimi
EO 14028 / OMB M-22-18ABD federalEylül 2022Federal alımlar için zorunlu, self-attestation
EU CRA (Cyber Resilience Act)ABAralık 2024 (uygulama 2027)“Important/Critical” ürünlerde SBOM şart
FDA Premarket GuidanceABD medikal cihazEylül 2023510(k) başvurularında SBOM zorunlu
NIS2 DirectiveAB kritik altyapıEkim 2024Tedarik zinciri risk yönetiminde SBOM önerilir
UK Telecoms Security ActBirleşik KrallıkEkim 2022Tier 1 operatörler için tedarikçi envanteri
Japan METI Guidelines v2JaponyaMayıs 2024Kritik altyapı için pilot zorunluluk

Bu çerçeveler içinde format seçimi neutral değildir: ABD federal alımları SPDX 2.3’ü referans alır (NTIA tarafından profile yayımlanmıştır), EU CRA implementing acts CycloneDX’i benzer ağırlıkta listeler. Pratik tavsiye: ikisini de üretin, depolayın, request-on-demand sunun. Bu strateji SBOM SLSA tedarik zinciri mimarisinde detaylı işlenir.

SPDX 3.0 Spesifikasyonu: Yapı ve Veri Modeli

SPDX (Software Package Data Exchange), Linux Foundation bünyesinde 2011’den beri sürdürülüyor; ISO/IEC 5962:2021 olarak standartlaştırıldı (resmi ISO statüsüne sahip tek SBOM formatı). SPDX 3.0 (Nisan 2024 GA) önceki 2.3’ten radikal şekilde yeniden tasarlandı: monolitik JSON yapısı yerine profile-based modular sisteme geçildi. Çekirdek profil her zaman zorunlu, Software/Licensing/Security/AI/Dataset/Build profilleri opsiyonel. Bu modülerlik AI modellerini ve veri setlerini de envantere dahil etmeyi mümkün kılar.

SPDX RDF/IRI tabanlı veri modeli kullanır; her element global benzersiz tanımlayıcıya (SPDX-ID) sahiptir. Serialization: JSON-LD (önerilen), JSON, YAML, RDF/XML, tag-value (legacy). Lisans ifadeleri SPDX License List‘ten gelir — 700+ standartlaştırılmış tanımlayıcı (MIT, Apache-2.0, GPL-3.0-only) ve kompozit ifadeler için Boolean operatörler (AND, OR, WITH). Hukuk ekipleri için bu, FOSSology ile otomatik clearance’ın ön şartıdır.

SPDX 3.0 modüler profil mimarisi soyut diagram görseli
SPDX 3.0 modüler profil mimarisi soyut diagram görseli
SPDX 3.0 ProfiliElement Sayısı (yaklaşık)Tipik KullanımZorunluluk
Core11Element identity, relationshipsHer zaman zorunlu
Software9Package, File, SnippetKlasik SBOM için zorunlu
Licensing5License expression, concluded licenseCompliance için önerilir
Security7Vulnerability, VEX, CVE referanslarıVulnDB entegrasyonu için
Build4Build instructions, reproducibilitySLSA L3+ için önerilir
AI10Model, dataset, training metadataAI/ML envanteri için
Dataset8Dataset lineage, sensitivityVeri yönetişimi

SPDX 3.0 paket tanımlamada Package URL (purl) ve CPE referanslarını externalReferences olarak taşır; hash algoritmaları SHA-256/384/512, SHA3-256, BLAKE2b-256, BLAKE3 destekler. Orta büyüklükteki bir Node.js uygulaması (1500 transitive deps) için SPDX 3.0 JSON-LD dosyası sıkıştırılmamış 8-15 MB, gzip sonrası 600-1200 KB seviyesindedir.

CycloneDX 1.6 Spesifikasyonu: Güvenlik Odaklı Tasarım

CycloneDX, OWASP projesi olarak 2017’de Steve Springett tarafından başlatıldı; bugün ECMA-424 standardı olarak yayımlanıyor. Tasarım felsefesi farklıdır: SPDX “her şeyi tanımla, sonra security ekle” yaklaşımıyla başlarken, CycloneDX “security ve operational risk önce” diye yola çıktı. CycloneDX, VEX (Vulnerability Exploitability eXchange), VDR (Vulnerability Disclosure Report), CBOM (Cryptography BOM), ML-BOM, SaaSBOM, OBOM gibi ek tipleri tek spesifikasyonda taşır.

CycloneDX 1.6 (Nisan 2024) yenilikleri: Lifecycles (design, pre-build, build, post-build, operations), Cryptographic Properties (post-quantum migration için kritik), Tags ve Standards, Formulation (build instructions, SLSA provenance için). Serialization: JSON (önerilen), XML ve Protocol Buffers — binary serialization yüksek hacimli ML pipeline’larda 3-5x daha kompakt SBOM üretir.

ÖzellikSPDX 3.0CycloneDX 1.6
KuruluşLinux FoundationOWASP / ECMA
İlk yayın20112017
ISO/ECMA standartISO/IEC 5962:2021ECMA-424:2024
Veri modeliRDF / IRI tabanlıTree / nested JSON
Önerilen serializationJSON-LDJSON
Ek format desteğiYAML, RDF/XML, tag-valueXML, Protocol Buffers
VEX entegrasyonuSecurity profile (3.0+)Native (1.4+)
VDRYokNative (1.5+)
CBOM / crypto envanterYok (3.0 limited)Native (1.6)
ML-BOMAI profile (3.0)Native (1.5+)
SaaSBOMYokNative (1.4+)
Lisans ifadeleriSPDX License List 700+SPDX License List ref + free-text
Tipik tool desteğiFOSSology, ScanCode, SyftDependency-Track, cdxgen, Syft, Trivy

Pratikte CycloneDX modern dev/security toolchain’inde daha fazla yer tutar — OWASP Dependency-Track son üç yılda GitHub star sayısını 1800’den 3000+’a çıkardı. SPDX ise yasal/uyum süreçlerinde, özellikle açık kaynak lisans denetimlerinde, FOSSology ve Tern üzerinden otorite konumunda. DevSecOps shift-left stratejisinde format seçimi bu iki profilden hangisinin baskın olduğuna göre belirlenir.

İki Format Yan Yana: Somut Karşılaştırma

Yapısal farkları gerçek dosyalar üzerinden görmek en doğrusu. Aynı bağımlılık (lodash 4.17.21) SPDX 3.0 JSON-LD’de ortalama 38 satır, CycloneDX 1.6 JSON’da ortalama 24 satır kaplar. 5000 bileşenli bir monorepo için SPDX dosyası gzip öncesi 22 MB, CycloneDX 14 MB civarındadır; Protocol Buffers ile CycloneDX 3.8 MB’a iner.

Veri modeli açısından SPDX graph-based; ilişkiler ayrı element olarak typed kenarla taşınır (DEPENDS_ON, BUILD_TOOL_OF, CONTAINS, GENERATED_FROM gibi 40+ ilişki tipi). CycloneDX tree-based; bağımlılıklar nested `dependencies[]` dizilerinde ve `components[]` flat listesinde tutulur. SPDX karmaşık ilişkileri daha doğal ifade eder; CycloneDX hızlı parsing ve scanner ingestion için optimizedir.

SenaryoSPDX 3.0 UygunluğuCycloneDX 1.6 UygunluğuÖneri
Open source lisans clearanceYüksek (FOSSology native)OrtaSPDX
Vulnerability ingestion (Dep-Track, Snyk, Mend)OrtaYüksekCycloneDX
Federal alım (US EO 14028)YüksekYüksekİkisini de üret
Medikal cihaz FDA başvurusuYüksekYüksekSPDX (geleneksel)
ML model envanteriYüksek (AI profile)Yüksek (ML-BOM)CycloneDX (olgun)
Post-quantum crypto envanteriDüşükYüksek (CBOM)CycloneDX
SLSA L3 attestationYüksek (Build profile)Yüksek (Formulation)İkisi de
SaaS abonelik envanteriDüşükYüksek (SaaSBOM)CycloneDX
Air-gapped/defense kontekstYüksekOrtaSPDX
Container/Kubernetes runtime SBOMOrtaYüksekCycloneDX

Pratik şu: monolitik bir karar yerine çift format pipeline kurun. Syft tek komutla `syft scan dir:. -o spdx-json -o cyclonedx-json` ile iki dosya çıkarır; storage maliyeti S3 Standard’da yıllık 1000 build için tahmini 60-90 USD. Bu marjinal maliyet, denetimde “yanlış format” gerekçesiyle geri dönülmesinden ucuzdur.

Generation Araçları: Syft, Trivy, cdxgen Karşılaştırması

SBOM üretim kalitesi araca bağlıdır — aynı container imajı için farklı tool’lar %15-40 arasında farklı bileşen sayısı raporlayabilir. Fark çoğunlukla transitive dependency çözünürlüğünden ve OS package detection mantığından kaynaklanır. 2026 itibarıyla olgun üç açık kaynak generator: Anchore Syft, Aqua Trivy ve OWASP cdxgen.

  • Syft (Anchore): Go ile yazılmış container ve filesystem catalog’er. Avantaj: 25+ ecosystem (npm, PyPI, Maven, Cargo, RPM, DEB, APK, Conan, Swift). Dezavantaj: Vulnerability scanning yok (Grype ile pair). Ne zaman seç: Saf SBOM ve maximum ecosystem coverage.
  • Trivy (Aqua): Tek binary’de scanner + SBOM. Avantaj: SBOM + vulnerability + misconfiguration + secret tek geçişte. Dezavantaj: File-level granularity sınırlı. Ne zaman seç: CI’da hem SBOM hem CVE taraması.
  • cdxgen (OWASP): CycloneDX reference generator. Avantaj: Native CycloneDX, deep evidence tracking. Dezavantaj: SPDX yok, container scanning sınırlı. Ne zaman seç: Pure CycloneDX evidence-rich pipeline.
  • Microsoft SBOM Tool: SPDX 2.2/2.3 native. Ne zaman seç: Microsoft stack ve federal compliance.
  • Tern (VMware): Container layer license inspection. Ne zaman seç: Legacy imajlar için detaylı license forensics.

Benchmark olarak ortalama bir Spring Boot Java uygulaması (Maven, 280 transitive deps, 350 MB Docker imajı) üzerinde:

ToolScan SüresiTespit Edilen BileşenSBOM Dosya Boyutu (CycloneDX JSON)Memory Peak
Syft v1.x~22 sn3121.8 MB~340 MB
Trivy v0.5x~18 sn2981.6 MB~280 MB
cdxgen v10.x~45 sn335 (deep mode)2.4 MB (evidence dahil)~620 MB
sbom-tool~38 sn2851.4 MB (SPDX 2.3)~410 MB

Not: Ölçümler 4 vCPU / 8 GB RAM GitHub Actions runner üzerinde tahmini olarak verilmiştir; gerçek değerler kaynak proje yapısına göre değişir. Container güvenliği pipeline’ında genellikle Syft + Grype kombinasyonu ile Trivy paralel çalıştırılır; iki farklı bakış açısı (component-first vs vulnerability-first) blind spot riskini azaltır.

CI pipeline SBOM tarama görseli soyut akış
CI pipeline SBOM tarama görseli soyut akış

CI/CD Pipeline’a Entegrasyon: GitHub Actions ve GitLab

SBOM’un asıl değeri pipeline’a oturduğunda ortaya çıkar — bir kerelik generate edilip rafa kaldırılan dosya audit anında işe yaramaz. Doğru pattern: her build’de iki format SBOM üret, GitHub Actions Artifact veya OCI registry’ye yaz, Sigstore Cosign ile imzala, Dependency-Track gibi ingestion platformuna push’la. Canonical GitHub Actions workflow özeti:

  1. Checkout (`actions/checkout@v4`) — fetch-depth 0 ile.
  2. Setup language (Node, Python, Go vb.) ve dependency install (`npm ci`, `pip install -r`, `go mod download`).
  3. Syft scan (`anchore/sbom-action@v0`) — `format: spdx-json,cyclonedx-json`.
  4. Cosign attestation — `cosign attest –predicate sbom.cdx.json –type cyclonedx ` ve Rekor transparency log’una yaz.
  5. Dependency-Track upload — REST API ile project SBOM’unu push’la.
  6. Policy gate — Critical CVE bulunursa job fail; aksi halde deploy step’e geç.
  7. Artifact retention — SBOM dosyalarını 90 gün GitHub Actions retention’da, kalıcı kopyayı S3/Azure Blob immutable bucket’ta.

GitLab tarafında benzer pattern `dependency_scanning` template’i ile çalışır; built-in CycloneDX desteği vardır, `gl-sbom-*.cdx.json` artifacts otomatik üretilir. Vulnerability merge request widget’ı Ultimate’a özeldir.

SBOM lifecycle’ı build’de bitmez. Deployed SBOM üretmek için Kubernetes admission controller olarak runtime SBOM scraper’lar (Snyk Runtime, Sysdig) çalışır. Bu, build-time SBOM ile gerçek pod’da çalışan kütüphaneler arasındaki farkı (drift) gösterir.

VEX, VDR ve Vulnerability Yönetimi

SBOM tek başına eksiktir: “bu sistem log4j içeriyor” bilgisi, “bu log4j sürümü Log4Shell’e açık mı?” sorusunu cevaplamaz. Burada VEX (Vulnerability Exploitability eXchange) devreye girer. VEX, bileşen-CVE çiftine “affected”, “not_affected”, “fixed”, “under_investigation” durumu ekleyen attestation katmanıdır. Sömürülebilirlik gerekçesi taşır: “vulnerable_code_not_in_execute_path”, “inline_mitigations_already_exist” gibi NTIA standart değerleri.

CycloneDX 1.6 VEX’i native taşır; aynı dosyada `vulnerabilities[]` ve `components[]` koexists eder. SPDX 2.3 native VEX desteklemez; bu sürümde VEX ayrı bir OpenVEX dosyası olarak tutulur. OpenVEX, CISA’nın desteklediği minimal, format-agnostic spesifikasyondur.

  • VDR (Vulnerability Disclosure Report): CycloneDX 1.5+ ile gelen, bilinen CVE’lerin yaşam döngüsünü taşıyan dokümantasyon. Avantaj: Customer-facing disclosure için tek dosya. Ne zaman: ISO/IEC 30111 ve 29147 compliance.
  • CSAF 2.0 (Common Security Advisory Framework): OASIS standardı, machine-readable security advisories. Avantaj: Vendor-grade advisory distribution. Ne zaman: Büyük vendor (ürün ailesi 10+).
  • OpenVEX: Minimalist, JSON-LD tabanlı, format-agnostic. Avantaj: SBOM formatından bağımsız. Ne zaman: SPDX 2.3 + ayrı VEX akışı.
  • NTIA VEX Profile: JSON profili. Dezavantaj: Ağır benimsenmedi, yerini OpenVEX aldı.

Pratik VEX kullanımı: günde 50-200 yeni CVE yayımlanır (NVD 2024 ortalaması 110/gün, 2025 tahmini 130/gün). Bunlardan %15-20’si SBOM’unuzdaki bileşene match edebilir. VEX olmadan her match için manuel “exploitable mi?” araştırması gerekir; VEX ile çifte bir defa karar verip otomasyona dökersiniz. Olgun programlarda VEX, gürültüyü %60-80 azaltır.

VEX vulnerability exploitability exchange soyut katman görseli
VEX vulnerability exploitability exchange soyut katman görseli

Signing, Attestation ve SLSA Entegrasyonu

SBOM güvenilir değilse değersizdir — saldırgan build pipeline’a sızıp SBOM’u manipüle ederse envanteriniz size yalan söyler. Bu nedenle SBOM’lar imzalanır ve provenance attestation ile bağlanır. SLSA framework’ü build sürecinin doğrulanabilirliği için Level 1-4 olgunluk seviyesi tanımlar; Level 3+ için build provenance signing zorunludur, SBOM bu attestation içine predicate olarak embed edilir.

2024’te Sigstore (Cosign + Rekor + Fulcio) fiili standart oldu; GitHub, GitLab, Google Cloud Build native destekliyor. Cosign keyless mode OIDC identity ile kısa ömürlü sertifika çeker — kalıcı private key yönetiminin riskini ortadan kaldırır. Rekor transparency log immutable kayıt sağlar.

Attestation TipiPredicate TypeTipik İçerikTool
SLSA Provenance v1https://slsa.dev/provenance/v1Build inputs, builder identityslsa-github-generator, GoReleaser
SBOM Attestation (CycloneDX)https://cyclonedx.org/bomTüm CycloneDX JSONCosign
SBOM Attestation (SPDX)https://spdx.dev/DocumentTüm SPDX JSON-LDCosign
VEX Attestationhttps://openvex.dev/ns/v0.2.0OpenVEX dokümanıvexctl, Cosign
Vulnerability Scanhttps://cosign.sigstore.dev/attestation/vuln/v1Trivy/Grype outputCosign
SCAI (Source Code Attestation)https://in-toto.io/attestation/scai/v0.2Source state, evidencein-toto

Verification tarafında policy engine olarak Open Policy Agent veya Cosign’ın built-in CUE policy engine kullanılır. Tipik Kubernetes admission policy: “image’in imzalı SLSA L3 provenance’ı yoksa veya SBOM attestation’ı CycloneDX 1.5+ değilse deploy etme”. Bu, Zero Trust mimari‘nin tedarik zinciri katmanındaki uygulamasıdır.

Ömer Önal’ın saha deneyiminden bir not: SBOM signing’i ilk kez kuran ekiplerin yaklaşık üçte ikisi Rekor’a public log yazmaktan endişe duyar. Pratikte image digest’i ve component listesi zaten public registry’de görünür; Rekor’a yazılan bilgi marjinal ifşa değil, audit immutability garantisidir. Air-gapped ortamlar için private Rekor instance kurulabilir, danışmanlık tarafında en sık karşılaşılan dirençlerdendir.

Storage, Dağıtım ve Tüketim Platformları

SBOM’lar üretildikten sonra nerede yaşar? Üç pattern: OCI registry’de image’in yanında attestation olarak, dedicated SBOM platform’da (Dependency-Track, GUAC), veya artifact repository’de ayrı dosya. Çoğu olgun program kombine eder.

  1. OCI Registry + Cosign: SBOM, image’in OCI Reference’ı ile bağlı attestation. Avantaj: Tek registry. Dezavantaj: Querying zayıf.
  2. OWASP Dependency-Track: Self-hosted, CycloneDX-native. Avantaj: REST API, vulnerability correlation. Dezavantaj: SPDX desteği sınırlı.
  3. GUAC: Google + Kusari knowledge graph. Avantaj: Çoklu SBOM’u tek graph’ta birleştirir, GraphQL query. Dezavantaj: Erken olgunluk.
  4. Anchore / Sysdig / Snyk / Mend: Ticari platformlar, dashboard ve compliance reporting; lisans maliyeti yıllık 10K-100K USD aralığı.
  5. NTIA SBOM Sharing Profiles: Vendor-customer dağıtımı için access patterns (manual, OCI, well-known URL).

Dağıtım modelinde “SBOM-on-demand” trendi öne çıkıyor; NTIA 2024 raporuna göre incelenen 50 vendor’un yaklaşık %62’si SBOM’u “request üzerine” sunarken sadece %23’ü proaktif (well-known URL veya OCI attestation) sunar. EU CRA sonrası 2027’ye kadar %80+ proaktif paya kayması bekleniyor.

SBOM signing ve attestation soyut zincir görseli
SBOM signing ve attestation soyut zincir görseli

Yaygın Hatalar ve Anti-Patterns

Saha gözlemleri net: aşağıdaki anti-pattern’leri görürseniz, format kavgasından çok daha büyük problem var demektir.

  • Tek-seferlik SBOM: Bir kere üretip arşivlemek; üç ay sonra yazılım değişti, SBOM yalan söylüyor. Çözüm: Her CI build’de regenerate, immutable storage, regulated sektörde 7 yıl retention.
  • Manuel SBOM editing: Excel’de SBOM oluşturmak veya elle düzenlemek. Çözüm: SBOM artefakt’tır; pipeline’da düzelt.
  • Sadece direct dependency: package.json’daki bölümü SBOM sanmak. Çözüm: Lockfile-aware tool (package-lock.json, go.sum, Cargo.lock).
  • VEX olmadan SBOM: “Log4j var” deyip “etkilenmiyor” diyememek. Çözüm: Her release ile VEX dokümanı.
  • Signing’siz SBOM: Audit anında “kim üretti?” sorusuna cevap vermez. Çözüm: Cosign attestation zorunlu.
  • SBOM = CMDB karışıklığı: SBOM artefakt envanteri, CMDB runtime envanteri; korrele edilir, biri diğerini ezmez.

İlgili güvenlik disiplinlerinde benzer fail-mode’lar var: penetration testing‘de “yıllık tek bir test yeter” yaklaşımı ne kadar yetersizse, SBOM’da “compliance için tek bir kere üretirim” tutumu da o kadar tehlikelidir.

Sıkça Sorulan Sorular

SPDX ile CycloneDX arasında hangisi daha yaygın?

İki format da Linux Foundation/OWASP gibi büyük yapılar tarafından desteklenir ve kuruluş bazında çift kullanım çok yaygındır. Tool tarafında CycloneDX 2024 itibarıyla scanner ve security platform ekosisteminde biraz öne çıkar; lisans uyum/legal süreçlerinde SPDX 700+ standartlaştırılmış lisans tanımlayıcı ve ISO/IEC 5962 statüsü ile baskın. Yeni kurulan program ikisini birden üretmeli.

Hangi SBOM tool’u CI pipeline’ım için en hızlı sonuç verir?

GitHub Actions üzerinde sıfırdan başlıyorsanız anchore/sbom-action (Syft wrapper) tek satır config ile SPDX + CycloneDX üretir. Vulnerability scanning de tek geçişte istiyorsanız Trivy daha entegredir. Pure CycloneDX evidence-rich SBOM için cdxgen en derin analizi sağlar fakat daha yavaştır. Çoğu olgun pipeline iki tool kullanır (örnek: Syft + Grype + Trivy second-pass).

VEX zorunlu mu, yoksa sadece nice-to-have mı?

Regülasyon bazında VEX henüz zorunlu değildir ama EU CRA implementing acts ve CISA önerileri bu yönde. Pratik olarak müşteriye SBOM verip “etkilenip etkilenmediğimi söyleyemem” demek B2B satışlarda anlaşma kaybettirir. Olgun programlar her major release ile birlikte VEX yayımlar; format olarak OpenVEX veya CycloneDX native VEX tercih edilir.

SBOM dosyalarını ne kadar saklamalıyım?

Regulated sektörler (medikal, finans, federal alım) için en az 7 yıl retention önerilir; FDA medikal cihaz için ürün ömrü artı 5 yıl. Genel best practice: SBOM her zaman ilgili build artefakt ile aynı retention’a sahip olmalı; eğer container image 90 günde silinmiyorsa SBOM’u da silmeyin. S3 Glacier veya Azure Archive immutable bucket maliyet açısından makul.

Eski projeler için retroactive SBOM üretebilir miyim?

Evet ama kalite düşer. “Analyzed SBOM” yaklaşımıyla Syft veya Trivy mevcut binary/container imajı üzerinden bileşen çıkarır; build-time precision’a yaklaşamaz ama denetim için kabul edilebilir. Open-source bileşenler genelde doğru tespit edilir, vendored/statically linked native kütüphaneler eksik olabilir. Geriye dönük SBOM üretirken VEX akışını da başlatın, sadece envanter yetmez.

Sonuç

SBOM format seçimi 2026’da artık ikili bir karar değil — olgun bir tedarik zinciri güvenlik programı hem SPDX 3.0 hem CycloneDX 1.6 üretir, ikisini de imzalar ve müşteri/auditor talebine göre ilgili olanı sunar. Karar çerçevesi şu üç eksende oluşur: regülasyon (federal/medikal alım SPDX’i zorlar, EU CRA esnek), kullanım akışı (lisans clearance SPDX, vulnerability ingestion CycloneDX), ekip yetkinliği (mevcut tool’ların hangisini destekledikleri ve mevcut DevSecOps maturity).

Pratik başlangıç planı: ilk iki sprint’te Syft veya Trivy ile CI’a SBOM generation ekleyin, çift format çıkarın, GitHub Actions Artifact retention’ı 90 güne uzatın. Sonraki iki sprint’te Cosign attestation ve OpenVEX akışı kurun. Ondan sonra Dependency-Track veya GUAC self-hosted instance üzerinde dashboard’u açın; bu noktaya geldiğinizde program SLSA L2 olgunluk eşiğindedir. SLSA L3’e geçiş için hermetic build ve isolated runner gerekir, bu ayrı bir mühendislik yatırımıdır.

SBOM, tedarik zinciri güvenliğinin temel taşıdır; pipeline durumunuzu iletişim sayfası üzerinden paylaşırsanız format ve attestation stratejisi için netleşmiş öneri alabilirsiniz. Yatırım büyük değil; format kavgasında kaybedilen aylar pahalı.

OmerOnal

Yorum (1)

  1. Ömer ÖNAL
    Mayıs 16, 2026

    Kurumsal güvenlik denetimlerinde sıkça karşılaştığım bir gerçek: zayıflıkların %60’ından fazlası bilinen ama yamanmamış component’lerden geliyor. Bu konuda denetim süreçlerinizi nasıl yönetiyorsunuz? Yorumlara yazabilirsiniz.

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir