Geçen ayda çıkan 1Password araştırması belirli bir sayıyla ortaya çıktı: yapay zekanın oluşturduğu güvenlik yamaların yalnızca yüzde 26’sı hedefledikleri açıkları tamamen gideriyor. Geri kalanlar kısmen yama yapar, yanlış işlevi yamar veya kendi CVE’sine sahip yeni bir bağımlılık getirir. Bu, yapay zeka kod asistanlarının insanların gözden geçirebilmesinden daha hızlı yamalar sunduğu ve SBOM’un (Software Bill of Materials) genellikle gönderilen kod ile gönderilen güvenlik açıkları arasında son savunma hattı olduğu bir dünyada gerçek bir sorundur.
Masaüstünde karışık bir portföyü üzerinde yedi SBOM ve bağımlılık tarayıcısını test ettik: Node, Python, Go, Rust ve konteyner-doğal hizmetler. Bu listedeki her araç SBOM’ları üretir, onları tüketir veya bilinen CVE’ler için bağımlılık grafiklerini tarar. Yedisi de ücretsiz ve açık kaynaktır.
Bağımlılık tarayıcıda ne aramalı
Güvenlik tarayıcısı pazarı gerçekten kalabalık ve aynı şeyi yapan beş aracı kurmak kolay. Seçerken değerlendirin:
- Desteklenen SBOM biçimleri. SPDX ve CycloneDX önemli olanlar. Bir araç yalnızca kendi JSON’unu çıktılarsa, geçin.
- Dil ve ekosistem kapsamı. Bazı tarayıcılar JVM’yi iyi kapsar ve Node’u neredeyse hiç. Yığınla eşleştirin.
- CVE veritabanı tazeliği. OSV, NVD ve GitHub Advisory Database güvenilmeye değer üç kaynaktır. Toplayıcılar mevcut ancak gecikme ekler.
- Konteyner farkındalığı. Konteyner gönderirseniz, tarayıcı görüntü katmanlarını yürümeli, sadece kaynak repo değil.
- CI entegrasyonu. GitHub Actions, GitLab CI ve Jenkins desteği temel becerileri.
- Yanlış pozitif oranı. Taze bir Next.js yüklemesinde 400 CVE’ye işaret eden bir tarayıcı kimsenin okumadığı bir tarayıcıdır.
- Lisans raporu. SBOM’lar giderek CVE listeleriyle birlikte lisans denetimlerine ihtiyaç duyar.
Hızlı karşılaştırma
| Uygulama | En iyi | Platformlar | Ücretsiz plan | Başlangıç fiyatı | Biçimler |
|---|---|---|---|---|---|
| Syft | SBOM oluşturma | Windows, macOS, Linux | Ücretsiz, açık kaynak | Ücretsiz | SPDX, CycloneDX, yerel |
| Grype | SBOM taraması | Windows, macOS, Linux | Ücretsiz, açık kaynak | Ücretsiz | Syft, SPDX’i okur |
| Trivy | Hepsi bir arada konteyner taraması | Windows, macOS, Linux | Ücretsiz, açık kaynak | Ücretsiz | SPDX, CycloneDX |
| Dependency-Track | SBOM yönetim platformu | Docker, kendi kendine barındırılan | Ücretsiz, açık kaynak | Ücretsiz | CycloneDX-ilk |
| OWASP Dependency-Check | Uzun süreli SCA klasiği | Windows, macOS, Linux | Ücretsiz, açık kaynak | Ücretsiz | CVSS raporu |
| OSV-Scanner | Google’ın OSV.dev ön ucu | Windows, macOS, Linux | Ücretsiz, açık kaynak | Ücretsiz | Yerel OSV, SPDX |
| Renovate | Otomatikleştirilmiş bağımlılık güncellemeleri | Docker, kendi kendine barındırılan, bulut | Ücretsiz, açık kaynak | Ücretsiz (Mend barındırılan ücretli) | PR’leri güncelleyin |
Uygulamalar
1. Syft — En iyi SBOM oluşturucu
Syft Anchore’dan SBOM aracıdır ve şimdi çoğu diğer araç sizin kullandığını varsayar. Bir dizini, konteyner görüntüsünü veya arşivi işaret edin ve saniyeler içinde SPDX veya CycloneDX biçiminde tam bir SBOM yayınlıyor. Dil kapsamı geniş (Go, Node, Python, Ruby, Rust, Java, .NET ve daha fazlası) ve konteyner görüntüsü desteği konteyneri çalıştırma ihtiyacı olmadan her katmanı geçiyor.
Nerede kısa kalıyor: CVE’ler için kendisi taramaz. Grype (aynı ekipten) ile eşleştirin veya SBOM’u Dependency-Track’e gönderin.
Fiyatlandırma:
- Ücretsiz: Tamamen ücretsiz, Apache 2.0
Platformlar: Windows, macOS, Linux ve konteyner olarak
İndir: GitHub’da Syft · Anchore ürün sayfası
Özet: Varsayılan SBOM oluşturucu. Önce kurun.
2. Grype — En iyi SBOM tarayıcısı
Grype, Syft ile doğal olarak eşleştirilen CVE tarayıcısıdır. Bir SBOM’u besleyin (veya bir kaynak dizinine işaret edin) ve Anchore güvenlik açığı beslemesinden filtrelenmiş bir CVE listesi döndürür; bu da NVD, GitHub Advisory Database ve Alpine’ın kendi güvenlik verilerinden kaynaklanır.
Nerede kısa kalıyor: Yanlış pozitif yönetimi konusunda en fikri değil. Yükseltemeyen eski bağımlılıklar için bir bastırma dosyası oluşturmayı bekleyin.
Fiyatlandırma:
- Ücretsiz: Tamamen ücretsiz, Apache 2.0
Platformlar: Windows, macOS, Linux ve konteyner olarak
İndir: GitHub’da Grype
Özet: Syft için açık eşleştirme ve bu listedeki düz kaynak ağacı geçişi için en hızlı tarayıcı.
3. Trivy — En iyi hepsi bir arada konteyner tarayıcısı
Trivy Aqua Security’den, hedef konteyner-doğal olduğunda herkesin ulaştığı hepsi bir arada. Konteynerler, dosya sistemleri, git repo’ları, Kubernetes manifest’leri, IaC (Terraform, CloudFormation) ve bir ikili içindeki sırları tarar. SBOM oluşturma hem SPDX hem de CycloneDX için yerleştirilir.
Nerede kısa kalıyor: Genişlik, herhangi bir tek hedefde özel aracdan daha yavaş olduğu anlamına gelir. Daha fazla tarama türü kullandıkça konfigürasyon dosyası büyür.
Fiyatlandırma:
- Ücretsiz: Tamamen ücretsiz, Apache 2.0
Platformlar: Windows, macOS, Linux ve konteyner olarak
İndir: GitHub’da Trivy
Özet: Yalnızca bir tarayıcı yükleyebilirseniz, bunu kurun.
4. Dependency-Track — En iyi SBOM yönetim platformu
Dependency-Track SBOM taramasını çalıştırma başına faaliyetten filo çapında panoya dönüştürür. CI hatlarından CycloneDX SBOM’u besleyin ve her proje canlı güvenlik açığı, lisans ve politika panosunu alır. Uyarı boru hattı yeni CVE’leri proje başına Slack, e-posta veya web kancasına yönlendirir.
Nerede kısa kalıyor: Kendi kendine barındırılan Java veya konteyner dağıtımı gerektirir. Bir “ikiliyi al ve çalıştır” aracı değil.
Fiyatlandırma:
- Ücretsiz: Tamamen ücretsiz, Apache 2.0
Platformlar: Docker, JAR (kendi kendine barındırılan)
İndir: GitHub’da Dependency-Track
Özet: Bir avuçtan fazla hizmeti izleyen ekipler için.
5. OWASP Dependency-Check — En iyi uzun süreli SCA klasiği
OWASP Dependency-Check çoğu kurumsal boru hattının onu bildiği kadar uzun vardır. Java-ilk, ancak modern sürümler Node, Python, Ruby ve .NET’i kapsar. Çıktı, HTML, JSON veya XML’de CVSS puanlandırılmış bir raportur.
Nerede kısa kalıyor: Modern alternatiflere göre daha yavaş ve daha kaynak-yoğun. İlk çalıştırma tüm NVD beslemesini indirir, bu da dakika alır.
Fiyatlandırma:
- Ücretsiz: Tamamen ücretsiz, Apache 2.0
Platformlar: Windows, macOS, Linux
İndir: GitHub’da OWASP Dependency-Check
Özet: İstenen klasik. Ekibiniz zaten aşina ise kurun; aksi takdirde Trivy veya Grype ile başlayın.
6. OSV-Scanner — En iyi OSV.dev ön ucu
OSV-Scanner, OSV.dev’in Google’ın resmi ön uçu, açık kaynak güvenlik açığı veritabanı. Node, Python, Go, Rust, Ruby ve çok daha fazlasında kilit dosyalarını tarar, OSV.dev’e karşı çapraz referans yapıyor ve paket başına güvenlik açığı listesi üretiyor. OSV.dev veri kalitesi yüksektir çünkü geniş bir ekosistem özel veritabanı kümesinden toplar.
Nerede kısa kalıyor: Konteyner görüntülerini taramaz. Odak kilit dosyası ilk.
Fiyatlandırma:
- Ücretsiz: Tamamen ücretsiz, Apache 2.0
Platformlar: Windows, macOS, Linux
İndir: GitHub’da OSV-Scanner
Özet: Kilit dosyalarında yaşayan ve minimum tören isteyen ekipler için en iyi seçim.
7. Renovate — En iyi otomatikleştirilmiş bağımlılık güncellemeleri
Renovate klasik anlamda bir tarayıcı değil. Bağımlılıklarınızın yeni sürümleri geldiğinde, güvenlik yamalarının serbest bırakılması da dahil olmak üzere PR’ler açan bir bağımlılık güncelleme botudur. Yukarıdaki tarayıcılardan herhangi biriyle birlikte, “CVE bulundu” ile “düzeltmek için PR” arasındaki döngüyü manuel orkestrasyonsuz kapatır.
Nerede kısa kalıyor: Yalıtımda CVE tarayıcı değil. İş akışının tarama ve doğrulama yarısı için Grype, Trivy veya OSV-Scanner ile birleştirin.
Fiyatlandırma:
- Ücretsiz: Kendi kendine barındırılan topluluk sürümü, tamamen açık kaynak (AGPL-3.0)
- Ücretli: Mend, kendi kendine barındırmak istemeyen kuruluşlar için yönetilen bir sürümü barındırır
Platformlar: Docker, kendi kendine barındırılan veya Mend bulut
İndir: GitHub’da Renovate
Özet: Tarayıcı bulgularını birleştirilmiş düzeltmelere dönüştüren araç.
Doğru olanı seçme
Bir aracı ihtiyacınız varsa ve konteynerler gönderirseniz: Trivy. Konteynerler, dosya sistemleri, IaC ve sırları bir ikili içinde kapsar.
SBOM-ilk iş akışı oluşturuyorsanız: Syft artı Grype artı Dependency-Track. Syft üretir, Grype tarar, Dependency-Track hizmetleri yönetir.
Ekibiniz zaten OWASP Dependency-Check’te ise: bunu saklayın. Modern sürümler saygıdeğer ve boru hattının ortasında geçiş yapmak boşluklar oluşturur.
Diliniz Python, Node, Go veya Rust ve en katı sinyali istiyorsanız: OSV-Scanner. OSV.dev verisi yüksek kalitedir.
Tarayıcıların bulduğu CVE’ler için otomatikleştirilmiş düzeltmeler istiyorsanız: üstte Renovate katmanı. İş akışının PR açma yarısını işler.
Yapay zeka kod asistanınız yamalar PR açıyor (1Password araştırmasında belirtildiği gibi): birleştirmeden önce gerekli bir kontrol olarak yukarıdaki herhangi bir tarayıcıyı çalıştırın. Yapay zeka tarafından oluşturulan yamaların makine doğrulamasına ihtiyacı vardır çünkü zaafları zamanın yüzde 74’ü kaçırırlar.
SSS
SBOM nedir?
SBOM (Software Bill of Materials), yazılım parçasında sürümler, hash’ler ve lisanslarla birlikte her bağımlılığın yapılandırılmış bir listesidir. SPDX ve CycloneDX baskın iki biçimdir. ABD ve AB’deki düzenleyiciler, hükümet tedarik zincirlerine gönderilen yazılım için SBOM’u giderek talep ediyor.
SBOM araçları ücretsiz mi?
Bu listedeki her araç ücretsiz ve açık kaynaktır. Ücretli teklifler mevcuttur (Anchore Enterprise, Aqua Enterprise, Mend barındırılan Renovate) ancak açık kaynak sürümleri çoğu ekibin ihtiyaçlarını kapsar.
Hangi aracın en az yanlış pozitif olduğu?
OSV-Scanner ve Grype, her ikisi de seçkin ekosistem özel verilerinden çizildiğinden, testimizde en katı yanlış pozitif profiline sahiptir. NVD dizelerine çok güvenen eski araçlar daha fazla gürültü üretme eğilimindedir.
Bu araçlar havaya kapalı ortamlarda çalışır mı?
Evet, yapılandırma ile. Trivy, Grype ve OWASP Dependency-Check tümü çevrimdışı veritabanı güncellemelerini destekler. Dependency-Track, yansıtılmış bir OSS Endeksi veya Anchore beslemesinden çekebilir.
Bu araçlar konteyner görüntülerini tarayabilir mi?
Trivy, Grype ve Syft tümü konteyner görüntülerini tarar ve her katmanı geçer. Dependency-Check ve OSV-Scanner kilit dosyası ilkidir ve konteynerleri iyi işlemez.
Ne sıklıkta bir SBOM taraması çalıştırmalıyım?
Aktif olarak geliştirilen hizmetler için, her PR ve her sürümde çalıştırın. Dağıtılan hizmetler için, gönderilen SBOM’u taze CVE beslemelerine karşı en az günde bir kez yeniden tarayın. Dependency-Track ve Trivy hem sürekli hem de planlanmış taramaları destekler.