Heisenberg, bir yazılım tedarik zincirinin sağlığını kontrol eden açık kaynaklı bir araçtır. Paket sağlığını ölçmek, riskleri tespit etmek ve bireysel bağımlılıklar veya projelerin tamamı için raporlar oluşturmak için deps.dev’den, Yazılım Malzeme Listelerinden (SBOM’lar) ve harici tavsiyelerden gelen verileri kullanarak bağımlılıkları analiz eder.

AppOmni Uygulama Güvenliği Başkanı Max Feldman, Help Net Security’ye şunları söyledi: “Riskli değişiklikleri ana şubeye ulaşmadan önce yakalamak ve engellemek için pratik bir yol istedik.” “Dönüm noktası, SBOM’lara statik evrak muamelesi yapmayı bırakıp bunları canlı, işlem yapılabilir veriler olarak kullanmaya başlamamızdı.”
“Her çekme isteğinde (PR) neyin değiştiğine odaklanan otomatik, hafif bir kontrol oluşturduk. Bir bağımlılık yeniyse, sağlıksızsa, bir danışma belgesi tarafından işaretlendiyse veya doğrulanabilir bir geçmişi yoksa, geliştiricilerin halihazırda çalıştığı yerde, PR’de ortaya çıkıyor. Ve yeni bir kampanya ekosisteme ulaştığında ve herkes ‘Etkileniyor muyuz?’ diye sorduğunda, günlerce manuel olarak kazmak yerine SBOM’larımızdan dakikalar içinde yanıtlar almak istiyoruz.”
Geleneksel SCA araçlarının ötesinde
Çoğu yazılım bileşimi analiz aracı yalnızca bilinen güvenlik açıklarını CVE’lerle işaretler. Heisenberg daha da ileri giderek şüpheli paketleri yaş, bakım ve kullanımdan kaldırılma durumu gibi faktörlere göre tanımlıyor. Bu, ekiplerin npm paketlerindeki potansiyel kötü amaçlı yazılımlar gibi sorunları, bunlar açıklanmadan önce yakalamasına yardımcı olur. Riskli kodun birleştirilmesini durdurmak veya daha sonra tehlikeli bir paketin halihazırda kullanımda olup olmadığını araştırmak için kullanılmak üzere çekme isteklerine doğrudan yorum yapabilir.
Hafif ve müdahaleci olmayan Heisenberg, SBOM’ları pratik bir savunma aracına dönüştürüyor. Geliştirmeyi yavaşlatmadan tedarik zinciri tehditlerinin erken tespit edilmesine yardımcı olur.
Gizli riskleri yakalamak
AppOmni Baş Güvenlik Mühendisi Yevhen Grinman, “Kasıtlı olarak zehirlenmiş veya kötü amaçlı paketlerden daha az belirgin olan bir şeye bir göz atalım” dedi. “Kötü niyetli bir aktör, adı gerçek pakete çok benzeyen bir paket yüklediğinde ve bunu PyPI veya npm depolarında yayınladığında yazım hatasını düşünün. Bir geliştirici yanlışlıkla paketin adını yanlış yazabilir ve yazım hatası nedeniyle tedarik zincirine kötü amaçlı bir paket sunabilir. Paket resmi olarak bir güvenlik açığı nedeniyle işaretlenirse geleneksel SCA bunu geriye dönük olarak tespit edebilir. Veya paket kod tabanında uzun süre yaşayıp projenize sessizce kötü bir şey yapabilir. Ancak Heisenberg Grinman, “Bu, Heisenberg’in anında yardımcı olabileceği birçok örnekten sadece biri” diye belirtti.
Farklı kullanım durumları için dört CLI modu
Grinman, Heisenberg’in dört Komut Satırı Arayüzü (CLI) moduyla birlikte geldiğini açıkladı:
- SBOM: Bu, repo başına SBOM’ları oluşturur. Sorgu yüzeyimiz haline gelen SBOM’un sadeleştirilmiş bir versiyonunu (repo başına veya çoklu repo başına) oluşturur. Kasıtlı olarak sıkıcıdır çünkü sıkıcının ayrıştırılması, farklılaştırılması ve otomatikleştirilmesi kolaydır. Bu çoğunlukla diğer modlar tarafından kullanılan bir arka plan modudur ancak araştırmalar sırasında da kullanışlı olabilir.
- Kontrol etmek: Bu bireysel paket derin dalışıdır. deps.dev API’si tarafından desteklenen, proje meta verilerini (puan kartı/bakım, yıldızlar/çatallar, bağımlılar, tavsiyeler) çeker, yeni yayınları algılar (<24 saat) ve çapraz referans bağlantılarını yazdırır (deps.dev, Snyk Advisor, Socket). Ayrıca, kullanımdan kaldırılmış/etkin olmayan paketleri işaretler. deps.dev'de veri yoksa GitHub API'sine ve npm/PyPI kayıt defterlerine başvurulur. Temel olarak, popülerlik, bakım, bakmakla yükümlü olunan kişiler ve güvenlik açığı sinyallerini harmanlayarak uç noktaları yumuşatan ve projenin güvenliğine en fazla ağırlığı veren bir Özel Sağlık Puanı da hesaplar. Son olarak, npm paketleri için, potansiyel kötü amaçlı yazılımların bir göstergesi olabilecek kurulum sonrası komut dosyalarının olup olmadığını tespit edebilir.
- Toplu: Bu hayran kitlesi tüm SBOM’larımızı kontrol ediyor. Toplu çalıştırıcı, her SBOM satırını kontrol etmek için çağrıları paralelleştirir ve sistem durumu puanı, güvenlik önerileri, kullanımdan kaldırılanlar ve diğerleri gibi alanları içeren birleştirilmiş bir rapor yazar. Bunu, genel yazılım tedarik zinciri sağlığımıza görünürlük kazandıran portföy taramamız olarak düşünün.
- Analiz edin: SBOM’lardaki paketleri hızlı bir şekilde bulmaya yardımcı olur. Bunu “etkileniyor muyuz?” olarak düşünün. düğme. Virgülle ayrılmış bir liste veya paket adlarının bir metin dosyasını besleyin; o da SBOM satırlarını göründükleri yere döndürür.”
Heisenberg’in geleceği ne olacak?
Grinman, ekibin Heisenberg’in yeteneklerini çeşitli yeni özellikler ve entegrasyonlarla genişlettiğini söyledi. Aracın geri bildirim döngüsü üzerinde daha fazla kontrolün yanı sıra ek paket yöneticilerine yönelik destek de yakında sunulacak.
Kullanıcıların belirli Heisenberg bulgularını susturmak için yorum yaparak bir çekme isteğinde belirli riskleri zaten kabul edebileceklerini açıkladı. Ekip ayrıca kuruluşların, genellikle genel meta verileri bulunmayan ve bu nedenle varsayılan olarak işaretlenen dahili paketler için bir izin verilenler listesi tutmasına da izin vermeyi planlıyor. Grinman, “Mühendislerin bu bulguların bazılarını susturmak için bir izin verilenler listesi oluşturabilmelerini istiyoruz” dedi.
Dağıtım ve entegrasyon başka bir odak noktasıdır. Ekip, CI/CD işlem hatlarına dağıtımı ve entegrasyonu kolaylaştırmak için Heisenberg’i Dockerize etmeyi planlıyor. Ayrıca güvenlik ekiplerinin kendi risk ve bakım eşiklerini tanımlayabilmesi ve uygulayabilmesi için Kod Olarak Politika desteği üzerinde de çalışıyorlar.
Grinman, risk tespitini geliştirmek için yapay zekanın nasıl kullanılacağını araştırdıklarını ekledi. Bir paketin taahhüt geçmişi veya dokümantasyon kalitesi gibi birçok gösterge öznel olabilir. “Bu sinyalleri analiz etmek ve Heisenberg’in Özel Sağlık Puanına daha doğru girdi sağlamak için yapay zekayı kullanmayı amaçlıyoruz” dedi. Ekip aynı zamanda makine öğrenimiyle bağlantılı yeni tedarik zinciri risklerini de izliyor ve Heisenberg’i MCP sunucuları ve açık kaynak modelleriyle ilgili sorunları tespit edecek şekilde genişletmeyi planlıyor.
Heisenberg GitHub’da ücretsiz olarak mevcuttur.

Okumalısınız:

Temel açık kaynaklı siber güvenlik araçları hakkında bilgi sahibi olmak için Help Net Security’nin reklamsız aylık bültenine abone olun. Buradan abone olun!
