Bir SBOM Ne Yüklediğinizi Kanıtlar. Yüklemenizin Doğru Olup Olmadığını Kanıtlayamaz.
Bir SBOM bir makbuzdur. Size ne yüklediğinizi söyler. Onu yüklemenizin doğru olup olmadığını söylemez.
Çoğu ekip, CI/CD süreçlerinde SBOM ve CVE taramaları kullanır. Bu araçlar, mevcut paketlerdeki bilinen güvenlik açıklarını bulmak için harikadır. Ancak yapay zeka kodlama ajanları kullanıldığında büyük bir kör noktaları vardır.
Bir yapay zeka ajanı bir paket adı önerir. İsim gerçek, bir halüsinasyon veya bir typosquat olsa da bunu aynı güvenle yapar.
Eğer bir saldırgan dün kötü amaçlı bir paket adı kaydettiyse, henüz bir CVE'si yoktur. Kurulum sonrası taramanız bunu görecek ve temiz olarak işaretleyecektir. Tarama dürüsttür ancak yanlış soruyu yanıtlamıştır. "Bu ismin kötü olduğu biliniyor mu?" sorusuna yanıt vermiştir, "Bu isim bizim yığınımızda (stack) bulunmalı mı?" sorusuna değil.
Bir SBOM kötü amaçlı bir paketi kaydedene kadar hasar çoktan verilmiş olur. Kötü amaçlı kodlar genellikle kurulum aşamasında postinstall betikleri aracılığıyla çalışır. Tarayıcınız dosya ağacını bile görmeden ortam değişkenlerinizi ve CI sırlarınızı çalabilir.
Yan etki oluşmadan önce bir karara ihtiyacınız var.
Bunu çözmek için basit bir araç geliştirdim. Bu, kurulum öncesi bir menşei kontrol kapısıdır (pre-install provenance gate). Bir tarayıcıdan farklı çalışır:
• npm install çalıştırılmadan ÖNCE isimleri kontrol eder. • Onaylanmış bir temel (baseline) üzerinde "varsayılan olarak reddet" (default-deny) yaklaşımını kullanır. • Popüler paketlerle olan düzenleme mesafesini (edit distance) ölçerek typosquat'ları işaretler. • Bilinen hiçbir iyi isimle eşleşmeyen halüsinasyonları yakalar. • .npmrc dosyanızı doğrulayarak sahte bir kayıt defterine (rogue registry) erişmediğinizden emin olur.
Bu araç çevrimdışıdır, anahtarsızdır ve yalnızca Python standart kütüphanesini kullanır. Ağa bağlanmaz. Paketleri çözümlemez. Sadece önerilen isimlere bakar ve şunu sorar: "Bu ismi onaylıyor muyuz?"
Eğer isim onaylanmış anlık görüntünüzde (vouched snapshot) ve popüler bir temel listede yoksa, kapı RED (DENY) yanıtını döndürür.
Sadece olan bitenin kayıtlarına güvenmeyi bırakın. Nelerin olmasına izin verileceğine karar vermeye başlayın.
Kaynak: https://dev.to/alex_spinov/an-sbom-proves-what-you-installed-it-cant-prove-you-should-have-117c
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi
