« Tüm yayınlar

AI ve CI Boru Hatlarında Güvensiz Kodu Güvenle Çalıştırmak

PR'ları okuyan AI botları ve CI sistemleri artık yabancı kod çalıştırıyor. İzolasyonun neden yetmediğini ve gerçek savunma ilkelerini ele alıyoruz.

Uzun süre CI ve geliştirici araçları, çalıştırdıkları kodun güvenilir olduğu varsayımıyla tasarlandı. AI kod inceleyicileri, fork'lardan gelen PR'ları çalıştıran CI işleri ve bağımlılık botlarının yaygınlaşmasıyla bu varsayım artık geçersiz. Asıl risk PR diff'indeki kod değil; paket kurulumu sırasında çalışan lifecycle script'leri, repoya ait test/build komutları ve linter/formatter'ların okuduğu yapılandırma dosyaları gibi otomatik olarak tetiklenen her şey. Özellikle araç yapılandırmasının uzaktan kod çalıştırma vektörü olabileceği noktası çoğu ekip tarafından gözden kaçırılıyor.

Asıl felaket, izole bir sandbox içindeki bir kod çalıştırma açığının, aynı ortamda platform kimlik bilgileri, veritabanı bağlantıları veya entegrasyon anahtarları da bulunduğunda tüm müşterileri etkileyen bir ihlale dönüşmesi. Çözüm daha sıkı sandbox değil, sandbox'ın çalınacak hiçbir şeyi ve gidecek hiçbir yeri olmamasını sağlamak. Yazı, bunu somutlaştıran yedi ilke sunuyor: repo script'lerini asla çalıştırmama, sırları ortamdan tamamen uzak tutma, kimlik bilgilerini en dar kapsamda ve kısa ömürlü verme, varsayılan olarak dış ağ erişimini engelleme, araç yapılandırmalarını güvensiz girdi olarak ele alma, ortamı geçici/root olmayan ve kaynak sınırlı tutma, ve entegrasyona en az yetkiyi tanıma.

Yazar, bu ilkeleri kendi ürünü olan bir AI PR inceleyicisinde nasıl uyguladığını örnek gösteriyor: her PR tek kullanımlık bir sandbox'ta, platform sırları olmadan, sadece o repo'ya özel kısa ömürlü salt-okunur bir token ile ve iç ağa hiçbir erişim olmadan analiz ediliyor. Mühendisler için mesaj net: izolasyonun bir gün başarısız olacağını varsayıp, o başarısızlığın sıradan bir olay olarak kalmasını sağlayacak mimariler kurmak gerekiyor.