Düşünce Liderleri
AI, Yazılım Girişine Karar Veren Kişileri Değiştiriyor

AI, her gün yazılım geliştirme sürecinin bir parçası haline geldi. API’ler oluşturmadan, testler yazmadan, tüm uygulamaları oluşturmadan, kod asistanları mühendislik ekiplerine sorunları çözmede ve yazılımları daha hızlı bir şekilde teslim etmelerine yardımcı oluyor. Verimlilik kazanımları inkar edilemez ve organizasyonlar yazılım geliştirme döngüsü boyunca AI’ı hızla benimsemeye başladılar.
Konuşmanın çoğu, AI tarafından oluşturulan kodu odakladı. Geliştiriciler AI tarafından oluşturulan kodu güvenebilir mi? Güvenlik açıkları içerir mi? Güvenlik ekipleri bunu nasıl incelemeli? Bu sorular önemli, ancak AI’ın yazılım geliştirmesine getirdiği en büyük değişiklik değil. AI, yalnızca kod oluşturmanın ötesine geçti ve artık yazılım seçim kararlarına影響 ediyor.
AI kod asistanları nadiren sıfırdan uygulamalar oluşturur ve mevcut çerçeveler, açık kaynaklı kütüphaneler, SDK’ler, konteyner görüntüleri ve paket ekosistemlerini kullanarak çözümler oluşturur. Her öneri, bir geliştiricinin ilk olarak oluşturulan kodu incelemesinden önce bir uygulamanın yazılım temelini şekillendirir.
Onlarca yıldır, ilk güven kararı yazılım geliştirme sürecinde neredeyse tamamen geliştiricilere ait oldu, ancak bu varsayım artık değişmeye başladı. AI, ilk öneriyi yapıyor, geliştiriciler ise sonra sonucu doğruluyor. Bu küçük değişiklik, yazılım tedarik zinciri güvenliği için önemli sonuçlar doğuruyor çünkü her öneri implicit bir güven kararını içeriyor.
Organizasyonlar, yıllarca boyunca yazılımların nasıl oluşturulduğu, test edildiği ve dağıtıldığı konusunda yönetişim kuralları oluşturdular. Bir sonraki zorluk, AI yerli geliştirme ortamında yazılımların nasıl seçildiğini yönetmektir.
İlk Güven Kararı
Her uygulama, binlerce katkıda bulunan tarafından oluşturulan sayısız açık kaynaklı projelerden oluşan yazılımlara bağlıdır. Bir yeni bağımlılık eklenmeden önce, geliştiriciler genellikle belgeleri değerlendirir, çerçeveleri karşılaştırır, topluluk benimsemesini inceler, yayın hızını inceler ve bir projenin üretim için yeterli olgunluğa sahip olup olmadığını değerlendirirdi. Geliştiriciler her zaman doğru seçimi yapmazlardı, ancak her bağımlılık kasıtlı olarak eklenirdi.
Bugün, bir geliştirici basitçe bir AI asistanına “kimlik doğrulama ve PostgreSQL desteği ile güvenli bir REST API oluştur” diyebilir. AI, birkaç saniye içinde çalışan bir proje oluşturur. Bu sırada, bir çalışma zamanı önerir, bir çerçeve seçer, bir temel konteyner görüntüsüne atıfta bulunur, kimlik doğrulama kütüphanelerini içe aktarır, SDK’ler seçer ve bağımlılık manifestlerini oluşturur, Örneğin package.json, requirements.txt veya pom.xml. Paket yöneticileri daha sonra derleme sırasında bu bağımlılıkları ve geçişli bağımlılıkları çözer.
Çoğu geliştirici, AI tarafından oluşturulan uygulamayı inceler, ancak yalnızca birkaçı, AI’nın yol boyunca yaptığı her yazılım kararını incelemeye durur. AI, saatlerce süren araştırma içeren yazılım seçimini saniyelere indirgedi ve giderek daha fazla geliştiriciler adına ilk öneriyi yapıyor.
Her Öneri Bir Güven Kararıdır
Her yazılım parçası kendi güven zincirini taşır. Bir kütüphanenin bakımcıları, katkıda bulunanları, yayın süreçleri, imzalama uygulamaları, bağımlılıkları ve kökeni vardır. Bir konteyner görüntüsü, yukarı akış dağıtımlarından yazılım miras alır ve bir SDK, her biri zincirin uzatılmasıyla gelen ek paketler tanır.
AI’nın bir önerisi, bir uygulamanın parçası olan yüzlerce yazılım parçasına hızla dönüşebilir. Açık kaynaklı yazılımlar her zaman böyle çalıştı. Değişen şey, bu kararları ilk yapanların kim olduğudur. Tarihi olarak, geliştiriciler güvenilen bileşenleri değerlendirir ve seçerdi. AI sistemleri artık ilk önerileri yapıyor, geliştiriciler ise sonra sonucu doğruluyor.
Küçük bir değişiklik gibi görünse de, bu, organizasyonların yazılım tedarik zinciri güvenliği hakkında düşünme şeklini temel olarak değiştiriyor.
AI, Çalışan Yazılıma Optimize Edilir, Organizasyonel Güvene Değil
Bunun anlamı, AI’nın kötü önerilerde bulunması değildir. Tam tersi.
AI kod asistanları, geliştiricilerin benzer sorunları nasıl çözdüğüne dair milyonlarca örneğinden öğrenerek yazılım önerilerinde iyidir. Bu nedenle, popüler çerçeveler, iyi desteklenen kütüphaneler ve tanıdık uygulama kalıpları doğal olarak önerilerinde görünür ve bu araçların bu kadar değerli olmasının nedeni budur.
Ancak bu optimizasyon hedefleri, kurumsal güvenlik ekiplerinin cevaplaması gereken sorulardan fundamental olarak farklıdır. AI, bir paketin bir organizasyonun yazılım politikalarıyla uyumlu olup olmadığını, bir konteyner görüntüsünün kaynak kodu yeniden derlenip derlenmediğini, yazılım kökeninin doğrulanıp doğrulanmadığını veya bir bağımlılığın onaylanmış bir yazılım kaynağından gelip gelmediğini içkin olarak değerlendirmez.
İşlevsellik, popülerlik ve olasılık, kod oluşturmak için yararlı sinyallerdir, ancak bunlar asla doğrulama yerine geçmemelidir.
Neden Sol Tarafa Entegre Etmemiz Gerekir
Yıllarca boyunca, yazılım tedarik zinciri güvenliği, yazılımlar geliştirme sürecine girdikten sonra riskleri belirlemeye odaklandı. Güvenlik açığı tarayıcıları, Yazılım Bileşen Analizi ve SBOM’ler, uygulamaların içerdiği yazılımlara dair görünürlüğü dramatik olarak iyileştirdi.
Bu araçlar hala gereklidir, ancak farklı bir sorunu ele alırlar.
AI, yazılım seçimini geliştirme döngüsünün çok daha erken bir aşamasına taşıdı, böylece geleneksel güvenlik kontrolleri analizlerine başladıklarında, oluşturulan proje zaten değerlendirilmesi, düzeltilmesi veya değiştirilmesi gereken dozens of bağımlılıkları referans ediyor olabilir. Organizasyonlar, geliştirme akışına zaten girmiş olan yazılım seçimlerine hala tepki veriyor.
Bu nedenle, Sol Tarafa Entegre Etmemiz gerektiğini düşünüyorum.
Sol Tarafa Entegre Etme fikri basittir: güven, yazılımlar bir uygulamanın parçası haline gelmeden önce kurulmalıdır, sonra değil. AI, yazılım geliştirmeye aktif bir şekilde katıldıkça, bu ilke daha da önemli hale geliyor. Yönetişim, yazılımların incelendiği noktadan, seçildiği noktaya taşınmalıdır.
Organizasyonlar, güvenilen yazılım kaynaklarını tanımlamalı, AI’ın hangi yazılım parçalarını önerebileceğini belirlemeli ve bu parçaları geliştirme akışına girmeden önce doğrulamalıdır. Hedef, AI’ın, organizasyonun güvenlik, uyumluluk ve mühendislik standartlarını yansıtan sınırlar içinde yazılım teslimatını hızlandırmasını sağlamaktır.
AI Çağındaki Yazılım Seçimini Yönetmek
Organizasyonlar, yazılımların nerede çalışabileceğini, nasıl dağıtılacağını ve kimin tarafından yayınlanacağını zaten tanımladı. Artık, AI’ın hangi yazılımları önerebileceğini de tanımlamaları gerekecek.
Burada, Yazılım Tedarik Zinciri Durumu giderek daha önemli hale geliyor. Organizasyonlar, yalnızca kendi yazılımlarına değil, AI’ın adına önerdiği yazılımlara da güven duymalıdır. Bu güven, doğrulama, güvenilen yazılım kaynakları ve geliştirme pipeline’ına girmeden önce başlayan yönetişimden gelir.
AI, yazılım geliştirmeyi devam ettirecek ve haklı olarak öyle olacak. Verimlilik kazanımları çok önemli ve organizasyonlar AI yerli geliştirmeyi benimsedikçe, yazılım seçimlerinin giderek daha otomatik hale geldiğini tanıyacaklar.
Başarılı olacak organizasyonlar, güvenilen yazılım kaynaklarını belirleyen, AI’ın önerdiği yazılım parçalarını doğrulayan ve yönetişimi yazılım seçimine baştan entegre eden organizasyonlar olacak.
AI, yazılımın nasıl yazıldığını değiştiriyor, ancak şimdi daha da önemli olarak, yazılımın nasıl seçildiğini değiştiriyor. AI çağındaki yazılımlara güvenmek, AI’ın ilk olarak seçtiği yazılımlara güvenmek anlamına geliyor.












