Tüzüğün istedikleri
(AB) 2024/2847 sayılı Tüzük Ek I, Kısım II, nokta (1): imalatçılar, “en azından ürünlerin üst düzey bağımlılıklarını kapsayan, yaygın olarak kullanılan ve makinece okunabilir bir biçimde bir yazılım malzeme listesi hazırlamak dahil olmak üzere, dijital unsurlar içeren ürünlerde bulunan zafiyetleri ve bileşenleri tespit eder ve belgeler” (çeviri). Bu, 11 Aralık 2027'den itibaren uygulanır (Madde 71).
- SBOM, zafiyet yönetimi süreçleriyle birlikte teknik dokümantasyonun bir parçasıdır (Ek VII, nokta 2(b)).
- Gerekçeli bir talep üzerine bir piyasa gözetimi makamına verirsiniz (Ek VII, nokta 8). Kamuya açıklamanız gerekmez (gerekçe 77).
- Kullanıcılara sunmayı seçerseniz, kullanıcı bilgileri nerede olduğunu belirtir (Ek II, nokta 9).
- Komisyon biçimini ve unsurlarını bir uygulama tasarrufuyla belirleyebilir (Madde 13(24)). CycloneDX ve SPDX yaygın olarak kullanılan biçimlerdir.
Bu sayfanın yazdıkları
Ana bileşen olarak ürününüzü, her paketi tam sürümü ve paket URL'si (purl) ile ve kilit dosyasının hangileri olduğunu belirttiği yerde ürünün üst düzey bağımlılıklarını içeren bir CycloneDX 1.6 JSON dosyası. Okuduğu dosyalar:
- npm package-lock.json (lockfileVersion 2 veya 3), Yarn yarn.lock (Yarn 1, 2 ve sonrası) ve pnpm-lock.yaml (lockfileVersion 9.0); dosyanın belirttiği yerde yalnızca geliştirmede kullanılan paketler dışarıda bırakılır;
- pip freeze veya pip-compile'ın yazdığı gibi her paketin sabitlendiği (name==version) Python requirements.txt;
- Rust Cargo.lock, sürüm 3 veya 4, ve dolaylı modülleriyle Go go.mod;
- mvn dependency:tree -DoutputFile tarafından yazılan Maven bağımlılık ağacı ve Gradle gradle.lockfile; test kapsamındaki paketler dışarıda bırakılır;
- packages-dev olmadan PHP Composer composer.lock ve NuGet packages.lock.json.
Biçimine uymayan bir dosya tahmin edilmek yerine satır ve nedenle birlikte okunmaz. Genel kayıt dışındaki bir kaynaktan gelen bir paket paket URL'si olmadan listelenir; böylece dosya hiçbir zaman kullanmadığınız bir paketi göstermez.
Başka bir araçtan bir SBOM'unuz mu var? Bileşenlerini OSV.dev'de ve KEV kataloğunda kontrol etmek için CycloneDX JSON dosyası olarak veya GitHub'ın bağımlılık grafiğinin dışa aktardığı (Export SBOM) gibi bir SPDX JSON dosyası olarak açın. Yalnızca kontrol için okunur: yeni bir SBOM oluşturmak için kilit dosyalarını açın. Hiçbir kilit dosyasının sürümü sabitlemediği yerde GitHub'ın dosyası ^4.17.0 gibi bir aralık verir: bu bileşenler kontrol edilmedi olarak listelenir; kontrol etmek için kilit dosyasını açın.
İstismar edildiği bilinen zafiyetler
Kontrol, OSV.dev'de bulunan ve CVE numarası ABD Siber Güvenlik ve Altyapı Güvenliği Ajansı'nın (CISA) Known Exploited Vulnerabilities kataloğunda (KEV) yer alan her zafiyeti, CISA'nın eklediği tarihle işaretler. CISA bir zafiyeti istismar edildiğine dair güvenilir kanıt olduğunda listeler. 11 Eylül 2026'dan itibaren CRA Madde 14, ürününüzde bulunan aktif olarak istismar edilen bir zafiyeti (Madde 3(42)) farkına vardıktan sonraki 24 saat içinde bildirmenizi ister. Bir KEV kaydı bunu ürününüz için belirlemez ama ilk bakılacak yerdir; bildirim süreleri sayfası saatleri sayar.
Kapsamadıkları
SBOM, kilit dosyalarının listelediklerini listeler. Ürüne kopyaladığınız kod, işletim sistemi paketleri, ürün yazılımı ve başka dillerdeki kütüphaneler bunlarda yer almaz: bunları dosyaya kendiniz ekleyin. Zafiyet kontrolü yalnızca yayımlanmış zafiyetleri listeleyen OSV.dev'i kullanır; Ek I, Kısım II'nin istediği zafiyet değerlendirmesinin yerini almaz.
CRA dosyalarının geri kalanı için CRA belge seti teknik dokümantasyonu ve AB uygunluk beyanını yazar. CRA kontrolü ürününüzün sınıfını söyler.