Prosedür
CycloneDX belgesini gönderin ve izlenebilir politika kararını alın
API token hazırlama, proje kapsamı, Kubaba CLI gönderimi, asenkron değerlendirme ve PASS/WARN/BLOCK sonucunun doğrulanması.

Rol ve ön koşullar
Token sahibi CreateScan, UploadSbom ve ViewScan yetkilerini korumalı; gerektiğinde RunScanReevaluation ve yalnız açık proje oluşturma akışı için CreateScanProject eklenmelidir.
- OSV bootstrap başarılı ve hedef organization/project aktif olmalıdır.
- CycloneDX JSON 1.5 veya daha yeni olmalı; istemci backend URL'sine TLS doğrulamasıyla erişebilmelidir.
- Token yalnız bir kez gösterilir; CI secret manager'a kaydedilip KUBABA_TOKEN ortam değişkeniyle sağlanmalıdır.
Uygulama adımları
- API Tokens sayfasında gerekli en dar scope'larla bir token oluşturun, tam değeri güvenli depoya alın ve oluşturma diyaloğunu kapattıktan sonra değerin geri okunamadığını doğrulayın.
- kubaba config set ile yalnız server, project, organization, timeout/output gibi gizli olmayan ayarları kaydedin; kubaba config view çıktısında token material bulunmadığını kontrol edin.
- Mevcut SBOM için kubaba sbom scan <file>; kaynak dizini için kubaba audit <path> çalıştırın. Eksik projeyi açıkça oluşturmanız gerekiyorsa project key ile --create-project kullanın.
- CLI'nin scan oluşturduğunu, SBOM'u checksum ile stream ettiğini, complete çağrısından sonra terminal durumu beklediğini ve son policy sonucunu okuduğunu izleyin.
- Scans > detail içinde Overview, Components, Dependencies, Findings, Policy ve SBOM sekmelerini; environment/branch/commit metadata'sını ve unresolved sayısını doğrulayın.
Başarı ölçütleri
- Scan Completed durumuna gelir; raw SBOM checksum/size metadata'sı storage key açığa çıkmadan görünür.
- Bileşenler ve dependency edge'ler sayfalı olarak listelenir; bulgular OSV advisory ve sabit sürüm kanıtına bağlanır.
- Unresolved bileşen yoksa geçerli politikalar PASS, WARN veya BLOCK üretir; BLOCK CLI exit code 1 olur, WARN yalnız fail-on-policy ile başarısız olur.
- Aynı checksum'ın aynı scan'e tekrar yüklenmesi duplicate olarak idempotent davranır; complete tekrarları yeni initial job üretmez.
Hata ve güvenlik sınırları
- Geçersiz bearer token browser session'a düşmez; 401 ile reddedilir. Token log, URL, config dosyası veya child process environment'ına yazılmaz.
- Malformed, checksum uyuşmaz, unsupported ya da aşırı büyük SBOM reddedilir ve geçici storage nesnesi temizlenir.
- Unsupported ecosystem, invalid version veya çözülemeyen range NOT_EVALUATED olarak görünür; zafiyetsiz kabul edilmez.
- --create-project var olan organization'ı, dolu branch/repository URL'sini veya inactive projeyi sessizce değiştirmez.